> I have design an timing critical application that having a time bar dropping > every 250ms, so I used > > EvtGetEvent(&event, SysTicksPerSecond() / 4) > > at my EventLoop routine and handled the dropping of time bar at nilEvent, it > works fine on PalmOS 3.x and 4.x, but having problem on Zire 71, the time > bar drops very fast. Please help!
tony, you cannot rely on this. EvtGetEvent() uses the second parameter to say: "well, if nothing happened by this time, send me a nilEvent" there are many circumstances where the OS/3rd party applications can force extra nilEvents to happen, you need to get smart about this and use something like: myTimeOutMax = SysTicksPerSecond() / 4; myTimeOut = 1; myTimeA = TimGetTicks() do { EvtGetEvent(&event, myTimeOut) myTimeB = TimGetTicks(); if (event.eType == nilEvent) { if ((myTimeB - myTimeA) > myTimeOutMax) { myTimeA = TimGetTicks(); // handle nil event } } myTimeOut = (myTimeOutMax - (myTimeB - myTimeA)); if (myTimeOut < 0) myTimeOut = 0; } ... NOTE: this is tested code (i have it in every one of my games), its just i typed it in from memory just as i woke up (ie: now), the concept is there - figure it out. --- Aaron Ardiri [EMAIL PROTECTED] CEO - CTO +46 70 656 1143 Mobile Wizardry http://www.mobilewizardry.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/