In my case I am not using nilEvents for timing, just for background processing. I ask for another nilEvent as soon as I have finished processing one. The intent is to process as quickly as possible in the background, but keep the door open for other events (such as a "Cancel" button).
The normal way to do this is to set a very small timeout as the parameter when you call EvtGetEvent. It'll either give you a "real" event like a button tap, or if there aren't any ready within the time period specified, it'll give you a nilEvent.
For example, have a global variable which is initialized to 1 (meaning 1 millisecond) while you've background work to do, and pass that in your EvtGetEvent call. When you're done with whatever you need to accomplish in the background, set that variable to 0 so as to not waste battery getting millions of nilEvents once your processing is done.
This is much better than using the old "null event tick" pseudo-API, and should work on any OS version.
-David Fedor PalmSource, Inc.
-- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
