Are you saying the penUpEvent is being generated repeatedly or just once before the start of the loop? If it's just generated once, your device should go into snooze after one pass of the loop, and thus no problem.
-- Tim Kostka http://www.nuprograms.com "Rudla Kudla" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Hi, > > a have problem with EvtEventAvail. > I read data from serial port and have Form with Cancel button open. > I want to cancel the reading, when the button is pressed. > > I test, if there is an event using EvtEventAvail. > If it is a perform SysHandleEvent and possibly FrmHandleEvent. > > Code for the progress function follows. > > It works OK on POSE. At real device (m515), it seems, that there is ALWAYS > some event (event.eType == 2) > (Seems like penUp). > > How should I solve this problem? > > Rudla > > static Err CheckReadProgress(UInt32 bytes_to_now) /* > > Purpose: > > Serial port PortReadData progress function. > > Returns cancel, if the user pushed some button. > > */{ > > UInt16 event_limit; > > UInt8 buffer[100]; > > EventType event; > > > StrPrintF(buffer, "S:%ld", bytes_to_now); > > WinDrawChars(buffer, StrLen(buffer), 0,12); > > event_limit = 5; > > while (event_limit-- > 0 && EvtEventAvail()) { > > EvtGetEvent(&event, evtWaitForever); > > > ReportSubmessageInt("Event: %ld", event.eType); > > > if (event.eType == ctlSelectEvent) { > > return ErrUserCancel; > > } > > if (!SysHandleEvent(&event)) { > > FrmDispatchEvent(&event); > > } > > } > > return 0; > > } > > > -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
