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/