Hi,

My application needs to cycle through a database when it is launched with
sysAppLaunchCmdDisplayAlarm, and display information from each record. The
form has a Next button that allows the user to move through the records.
Leaving out some non-relevant details, my code is basically this:

void display_messages (DmOpenRef db) {
   FormPtr       dialog = FrmInitForm(message_form);
   Boolean       done = false;
   UInt16        button, i = 0;

   while (!done) {
      button = FrmDoDialog(dialog);     // show the i-th record of the database
      switch (button) {
         case next_b:
            i++;
            break;
         case cancel_b:
            done = true;
            break;
         }
      }
   FrmDeleteForm(dialog);
   }

This works, in that it allows the user to move through the records in the
database, viewing them one at a time. The problem is when the alarm is
triggered. For example, let's say I was in the calculator application when
the alarm happens. The first record in the database is displayed, but when I
tap on the Next button, the underlying calculator screen flashes on the
screen for a second before the next record is displayed on my form. Very
ugly.

In addition, when the final record is displayed and the user taps on Cancel,
a large part of the calculator screen is not redrawn.

I've tried all sorts of different things, but nothing works. I can't access
any global variables, which also makes it tricky. Can anyone tell me what
calls I need to add to this code so that the underlying screen doesn't keep
popping up between FrmDoDialog calls?

Thanks!

Tom


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

Reply via email to