I ended up resolving the problem with LstPopupList() failing under Cobalt if
I open & close a classic PIM database in my tap handler.
What I ended up doing is opening the database and keeping it open and
accessing as needed in program. My earlier stratagy was to open do my
accessing and close in order to keep database open for as short of time as
possible. This new stratagy also speeded things up under cobalt as well.
My guess is that when I open a PIM database, some heavy lifting is done
behind the scenes which somehow changes event handling. So, if I am in the
middle of handling a tap and then open a database, the handling of that
click is somehow messed up - thus the failure of LstPopupList().
Another oddity I have found is that if I call:
LocalID dbID = DmFindDatabase(0, addressString);
To find a PIM application (not the database) in order to launch it, this
fails if I have the PIM database open under Cobalt. It also fails if I
close the database right before calling as well. Worked fine on earlier
OS's. According to Cobalt docs, the Pim application is running in
background managing the classic PIM database. So, perhaps DmFindDatabase()
is refusing because application is launched?
DmDatabaseInfo()
Works fine under identical circumstances, however. So, if I find that
DmFindDatabase() fails, I use DmDatabaseInfo() instead.
Scott Schmitz.
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/support/forums/