DmResizeRecord works just like MemHandleResize (indeed, both share code
under the covers).  If it can, current versions of the PalmOS will grow the
record right where it lives and the record's data will remain completely
untouched.  

However it may also create a brand new chunk to hold the data anywhere it
chooses.  If it does this, it will copy over from the old chunk into the
beginning of the new chunk the entire old chunk's data.  So in this sense,
you data "will not be touched and you can just keep writing to the end of
the record."  

However, the handle for the record WILL be changed, and any pointers you
have derived from the old handle will no longer be valid.  This is why the
call returns a handle.

Hence proper coding procedure is to first examine the handle returned to see
if it is NULL.  If it is, the OS couldn't grow your record and you be out of
luck (almost certainly an extreme low memory condition).  If the returned
handle is not NULL, then you should lock it and use the new pointer for any
subsequent access to the record.

Hope this helps,

-bob mckenzie, palmsource pdx

-----Original Message-----
From: Amir Kirshenboim [mailto:[EMAIL PROTECTED]]
Sent: Saturday, April 20, 2002 3:49 AM
To: Palm Developer Forum
Subject: DmResizeRecord - can i assume the rec's data is untuched ?


When I call DmResizeRecord, what happans to the records data ?
Where id the "additional space" added to - the end of the record ?

Can I assume that records data wasn't tuched and just keep writing to the
end of the record ?



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

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

Reply via email to