I've noticed that if you install a database and reset very quickly after it has been installed, it can disappear on the TX. For instance, if you do SysReset() in response to a dmsync (I think that's the name) launch code, and then install the app, the system will reset and the app will instantly disappear. DmSync() doesn't help, but a delay loop does. I suspect the culprit is NFFS write cache.
There may be some other conditions where this happens. One possibility is that if the db is left open, the reset might happen just when the NFFS driver is committing it to flash. This could mean that the flash version of the file is corrupt when the OS starts up, and corrupt files are deleted by the NVFS system. And I assume you know that, typically, if you open a DB, make changes, but don't close the DB, then any changes may be lost if a reset happens. Judicious calls to DmSyncDatabase() can help. (That makes me think that I should probably put some calls to DmSyncDatabase() in ChronMemo.) This stuff is hard to debug because the details of the behavior are undocumented. Basically, you should assume that a database will not be committed to flash unless a DmSync*() routine is called and even then there might be a small lag time. -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
