I wrote earlier:
Another Gremlin error I keep getting is "Records left locked in closed
unprotected DB". Yet, I DmRelease every record that I DmGet,
and unlock every locked record handle. Could this come from the AppInfo
block instead of a record? I update it upon closing the app, but again I
unlock the pointer received from MemLocalIDToLockedPtr.
What can I do about this? About every other Gremlin stops with this
warning, and often, when I minimize a crash sequence, I end up with this
warning instead of the original crash cause :(
Is this locked status something that persists in the PDB over time, even
if I do things right (how?) later?
To summarize:
I call MemHandleUnlock for every record I call DmGetRecord or
DmQueryRecord on. I also call DmReleaseRecord when I call DmGetRecord.
I do a MemPtrUnlock on pointers I locked through MemLocalIDToLockedPtr
(usually the AppInfo block). Anything else I shoud do in those cases?
I call MemHandleUnlock for every resource handle I locked after a
DmGet1Resource. Should I call a DmReleaseResource too? BTW, why isn't
there a DmQuery1Resource?
--
Luc Le Blanc
--
For information on using the PalmSource Developer Forums, or to unsubscribe,
please see http://www.palmos.com/dev/support/forums/