I'm fairly sure that the "Free Handle" message means the
opposite. In other words, it means "you asked me to free
this handle, but I detected that it was already freed".
The MemHandles that are associated with fields in Palm OS
are freed automatically by the system when the form closes.
The field "owns" the MemHandle.
I would check for some point where you change the text of
a field by assigning it a new MemHandle, and then after
you assign the handle to the field, you end up freeing it.
You should never do something like this:
FldSetTextHandle (fieldptr, myhandle);
MemHandleFree (myhandle); // wrong!
Of course, it might be that your handle is freed somewhere
much later -- it doesn't have to be right after the
FldSetTextHandle() for there to be a problem.
- Logan
I think Logan is right. I would suggest you use your debugger
and give him a breakpoint everywhere you use the memoryhandle to find out
what isn't done if you leave the program without exiting the table. Then
you will know
where you free to often. Try first all MemHandleFree occurences.
Christian Lindemeier
--
For information on using the PalmSource Developer Forums, or to unsubscribe,
please see http://www.palmos.com/dev/support/forums/