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/
