My application manages as many DBs as the user creates. When data is beamed to 
it, if a database with the same name already exists, a merge processs must take 
place between beamed and existing records. To do this, I wish to close the 
currently open DB (if any) and ideally go back to the Main form (which displays 
a list of available DBs) before opening the local DB to launch the beam merge.

When handling the first beam-related launch code (sysAppLaunchCmdExgAskUser),
calling FrmCloseAllForms results in the socket pointer to become corrupted, 
causing a Simulator error.

I then tried determining if the current form is a modal dialog other than those 
I manage so as to find out if some alert is currently displayed, but the 
active form ID I get is always 11600, likely that of the beam receive dialog.

I later tried to close the active form when handling the second beam-related 
launch code(sysAppLaunchCmdExgReceiveData), a good idea because then the user 
has positively answered to the beam dialog. Again, I get 11660 as the active 
form ID.

If I let things go and an alert or modal dialog was open when I started to 
receive beamed data, a crash (application or Simulator) occurs when trying to 
jump to te main form.

1- Is there a way I can cleanly find out the current active form, dialog or 
alert "underneath" the Palm OS built-in dialog so as to take proper action?

2- Is there a way to do this before actually receiving all the (possibly big) 
beamed data?

3- What is the best way to close a possible alert? Issuing a handmade 
frmCloseEvent? The FrmCloseAllForms seems too radical, even closing the beam 
receive form...


--
Luc Le Blanc

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

Reply via email to