> 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/