Hi Ralph,

today, I read a notice in this forum ("Updated NVFS_White_Paper.doc on PalmOne web site"). I downloaded the paper (apparently it was updated March 27th, 2005) and it has a clear statement about the original DmDeleteRecord bug as follows:

Quoted from NVFS_White_Paper.doc:
If your application does DmAttachRecord( database, &at, h, 0 ) followed immediately by DmDeleteRecord( database, at ) you will get the "VFSDBCache.c, Line:...., DeleteRecord() called on invalid record"
The workaround is to call DmQueryRecord( database, at) between DmAttachRecord and DmDeleteRecord.

If this also solves the problem with the new SPRINT release, this sounds like a solution that can be safely used in all versions of PalmOS - calling DmQueryRecord is certainly always possible and the overhead of calling it must be very small (when looking at the original 4.x address.c routines, I see that they call it repeatedly for the same record all the time).


Best regards,
--
Lukas Zeller ([EMAIL PROTECTED])
-
Synthesis AG, SyncML Solutions  & Sustainable Software Concepts
[EMAIL PROTECTED], http://www.synthesis.ch


-- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/

Reply via email to