I am having a problem with the 650. It crashes when my app performs a DmDeleteRecord call for a valid record! The error reported in the simulator is "VFSDBCache.c, Line:6988, DeleteRecord() called on invalid record". This is completely bogus! Worse, it is not limited to the simulator. A user has reported his 650 crashing when he deletes a database item in my app.
How do I know that it is bogus? I breakpointed at the start of my function that calls DmDeleteRecord. The function will archive or delete a specified record based on an archive flag argument. So I change the archive flag to true which causes DmArchiveRecord to be called instead of delete. Lo and behold, there is no complaint when the record is archived instead of deleted. What in the H*** is going on here? Further trolling on the web revealed this little goody posted 11-25-2004: "This release also includes a workaround for the Treo650/T5 bug of deleting Todo's causing a bogus VFSDBCache.c error in the PalmOne DataManager patch which then crashes underneath Datebk5: this release changes all DmDeleteRecord function calls to DmArchiveRecord (..) which apparently works ok. I'll remove this workaround if/when PalmOne ever fixes their code. Cheers! Pimlico Software, Inc." Obviously, this developer has run into a similar problem to mine. However, I am not accessing any databases beyond those of my application. I find it hard to believe that everyone is not having the problem but I see no other reports. In my case, I can't change my DmDeleteRecord calls to DmArchiveRecord calls (will screw up the PC db) so I have NO WORKAROUND. What to do?? Ralph -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
