evt.data.generic.datum[0] = 262;
What is "datum"? the generic struct insidt data struct does not have that
member.
Max
--- Dave Carrigan <[EMAIL PROTECTED]> wrote:
> The attached program demonstrates what I think is a PalmOS 3.5 bug. It's
> a minimal program that opens a form, adds a custom event to the queue,
> and pops up an alert when it sees the custom event.
>
> However, if I set the event's data to the value 262, the program fails.
> It appears that something inside PalmOS wants to handle the event,
> because the event gets eaten, and a spurious menuCmdBarOpenEvent is
> generated. If I use any other value in the data then my form sees the
> event and pops up the alert.
>
> The program works fine under PalmOS 3.3 and 4.0. I also tried it under
> PalmOS 3.5.3, but it still fails.
>
> --
> Dave Carrigan ([EMAIL PROTECTED]) | Yow! I was making donuts and
> now
> UNIX-Apache-Perl-Linux-Firewalls-LDAP-C-DNS | I'm on a bus!
> Seattle, WA, USA |
> http://www.rudedog.org/ |
>
> ------------------------------------------------------------------------
> #include <PalmOS.h>
>
> static Boolean
> FormHandleEvent(EventType *e)
> {
> Boolean handled = false;
> FormType *frm;
> EventType evt;
>
> frm = FrmGetActiveForm();
>
> switch (e->eType) {
> case frmOpenEvent:
> FrmDrawForm(frm);
> MemSet(&evt, sizeof(evt), 0);
> evt.eType = firstUserEvent;
> evt.data.generic.datum[0] = 262;
> EvtAddEventToQueue(&evt);
> handled = true;
> break;
>
> case firstUserEvent:
> FrmAlert(1000);
> handled = true;
> break;
>
> default:
> break;
> }
>
> return handled;
> }
>
> static Boolean
> ApplicationHandleEvent(EventType *e)
> {
> FormType *frm;
> UInt16 formId;
> Boolean handled = false;
>
> if (e->eType == frmLoadEvent) {
> formId = e->data.frmLoad.formID;
> frm = FrmInitForm(formId);
> FrmSetEventHandler(frm, FormHandleEvent);
> FrmSetActiveForm(frm);
> handled = true;
> }
>
> return handled;
> }
>
> UInt32
> PilotMain(UInt16 cmd, void *cmdPBP, UInt16 launchFlags)
> {
> UInt16 err;
> EventType e;
>
> if (cmd == sysAppLaunchCmdNormalLaunch) {
> FrmGotoForm(1000);
> do {
> EvtGetEvent(&e, evtWaitForever);
> if (! SysHandleEvent (&e))
> if (! MenuHandleEvent (NULL, &e, &err))
> if (! ApplicationHandleEvent (&e))
> FrmDispatchEvent (&e);
> } while (e.eType != appStopEvent);
> FrmCloseAllForms();
> } else {
> return sysErrParamErr;
> }
>
> return 0;
=====
-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-
Got Palm?
Get ExBox at http://www.weirdwww.com/ExBox to beam anything!
__________________________________________________
Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!
http://promo.yahoo.com/videomail/
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/