I'm noticing some real differences between the Palm emulator (emulating a
Palm Vx) and the real hardware.

The most obvious thing is that forms aren't drawn properly -- you see the
previous form "through" the pop up form, as if the background of the form
isn't being drawn before the new form is drawn over it. And some events
seem to be in a different order, so I my application gets unexpected things
happening and dies.

Works fine on the real thing, and on the OS 5 simulator.

As Keith noted, one big difference is that "the real thing" is using a release ROM, while I'm guessing you're using a debug ROM with POSE (or you should be).


There's an old problem I'd also run into with the order of events on debug vs. release ROMs. My notes are below.

-- Ken

Summary:

On debug ROMs, you get a frmOpenEvent, then a winEnterEvent.
On release ROMs, you get a winEnterEvent, then the frmOpenEvent.

Explanation:

1. I call FrmPopupForm(1200), and that enqueues a frmLoadEvent and then a frmOpenEvent.

2. When I get the frmLoadEvent, I call FrmInitForm(1200) and then FrmSetActiveForm with the resulting form pointer.

3. On a release ROM, FrmSetActiveForm calls WinSetActiveWindow with the form handle, which sets up the low-memory EnterWindowID global. On a debug ROM, the call to WinSetActiveWindow only gets made if the form is already visible, which is not the case for my form.

4. The next time I call EvtGetEvent, it sees that EnterWindowID is non-NULL, and returns back a winEnterEvent. This occurs even though the frmOpenEvent is still sitting in the queue.
--
Ken Krugler


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

Reply via email to