Hello,

very strange thing:

if( EvtEventAvail() )
{
    EventType event ;
    EvtGetEvent( &event, SysTicksPerSecond() );
    // Returns nil event after 1 second delay
}

This delay happens only at special occasions, yet it happens. Can somebody
explain that?

It's clear that negative impact can be relieved if using delay 1. But that
is no answer. The question is why EvtEventAvail() reports something what is
not true.


Here is the more complete code excerpt:
    do {
        EvtGetEvent(&event, SysTicksPerSecond());

        if( event.eType == frmOpenEvent )
             bFormOpened = true ;

         if( !SysHandleEvent(&event) )
              FrmDispatchEvent(&event) ;

        if( bFormOpened && !EvtEventAvail() )
        {
            // some lengthy processing
        }
    } while (event.eType != appStopEvent);

The critical event sequence:
    winExitEvent
    winEnterEvent
    frmOpenEvent
    penUpEvent
    nilEvent

On the Tungsten/t the last nilEvent comes with 1 sec delay in most cases,
occasionally there is no delay. On the emulator there is never any delay.

Looks like the problem relates to the penUpEvent, that seems to play a
special role in the event processing.


Regards,
    Jan Slodicka



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/

Reply via email to