>Subject: re: Strange error when trying to intercept
>From: "Dr. Vesselin Bontchev" <vbontchev@yaho...>
>Date: Sun, 1 May 2005 16:42:28 -0000
> > All programs can run in Palm OS "background" all the time.
>Nope, they don't. They reside in memory all the time - but at any given
>time, only one of them is actually running. They aren't given timeshares
>or even timer tick interrupts by the OS, either - something which is used
>on many OSes to implement pseudo-concurrency.
Again, you fail to understand what's going on and are trying to use your
background in disk-based OS to understand Palm OS (and therefore mis-undertand)
It is true that on any single processor system only one program is running
at any one time, even with a multi-tasking OS running a thousand different
And I agree that one missing aspect of Palm OS is the lack of a clock time
event or notification, which would allow background programs to get a
little bit of processing time (say) 10 times a second. If Palm had
supported this then a lot of classic background processing could have been
done a lot, lot easier. This is very high on my short-list of "stuff Palm
should have done, but didn't".
But instead of this your program receives all system-level events and those
notifications it has registered for. This are a lot more powerful as you
receive these in background mode and can service them regardless of what
the foreground program is doing. However, because the OS doesn't
automatically take back control from a program after any specific period of
time or after specific occasions, you have to be "well behaved" in your
background processing and not do too much before handing control back to
the OS by exiting your program.
Or pop-up a progress window so the user knows you are doing some
processing, which may involve a separate initiation of your program using
one of the techniques described in earlier e-mails. The need for this
separate initiation is driven by whether the event or notification requires
you to handle it very, very quickly, as some do.
PS: Given the nature of your software, I'd recommend you restrict it to
Palm OS units running OS of 3.5 or greater, and perhaps you should restrict
it to OS 4.1 or greater.
Marietta Systems, Inc. (www.rf-tp.com)