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/

Reply via email to