It is possible for a program in the Palm OS to have a particularly nasty
bug:
If you create a handle in database memory, attach it to a database, and then
free the handle you'll start to get "Free handle" errors when working with
that database.
I found and fixed such a problem in my program, but there's still one
problem left to solve: Once you have a device that is in this state, how do
you get rid of this corrupt database? Using the application launcher to
delete the application which has this database will crash with "Free
handle", as will using a utility such as Insider to delete the database.
HotSync and pilot-xfer both bail when they try to do anything with the
database.
The only method of removing the database that I have found is to use
pilot-xfer to list (pilot-xfer -l) and back up all the databases on the palm
except for the corrupt one (using pilot-xfer -f on each of the files, not
pilot-xfer -b). Then hard-reset the device to clear all memory and restore
all the backed up databases.
Does anyone know of an easier way of nixing a corrupt database?
-Bob Whiteman
--
For information on using the ACCESS Developer Forums, or to unsubscribe, please
see http://www.access-company.com/developers/forums/