Zen for Palm is fine and dandy, however:

1) There are plenty of PalmOS applications that *do* have an Exit menu/button. 
They might be badly designed, they might not be conformant to the pure Zen of 
Palm, but they do exist nevertheless, so it is obviously possible.

2) It is better for the user when multi-platform applications have exactly the 
same user interface on all supported platforms.

3) I have seen Windows users who were new to the Palm device get really 
confused because they couldn't find the "Exit" button. Long and bitter 
experience has taught me that accomodating the user is easier (and more likely 
to succeed) than educating him/her.

4) I'm new to PalmOS programming, but I've already seen "how do I make my 
application exit" asked so often, that it ought to be a FAQ.

That said, let's return to the question at hand. (When somebody asks how to do 
something, it's more productive to assume that he really needs it done and tell 
him how to do it, instead of telling him why he shouldn't want to do such 
things.) Regarding the solutions posted so far:

1) Stuffing appStopEvent into the event queue is indeed a very bad idea. Worse, 
it doesn't always work. For instance, it worked fine under the emulator running 
PalmOS 3.5.0 but failed under a real Tungsten E device, running PalmOS 5.2.1.

2) Using SysUIAppSwitch, as explained in the Palm documentation, works - but 
has one minor flaw. If the "exit" is a button and your device "clicks" when you 
tap on the screen, it will click twice when you tap on the "Exit" button - once 
because you tapped, and once while processing the simulated tap on the Home 
button.

There is a third way to "exit" - or to return to the Launcher, more exactly. 
Basically, the idea is to make your application's PilotMain return. For an 
example how to do it, see this:

http://flippinbits.com/twiki/bin/view/FAQ/HowToExitBackToLauncher

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

Reply via email to