Here is detailed example:
//here is allocation for original data
MemPtr dateP = MemPtrNew(20*sizeof(dateType));
//Lets do sth. with orginal data...
///...
//done
//Now we will copy data stored in memory from dataP pointer to newPtr.
// MemPtrSize will return 20* sizeof(dateType)
Int16 size= MemPtrSize(dateP);
Int16 i;
//size is now equal 20* sizeof(dateType)
dateType * newPtr=MemPtrNew(size);
//lets copy
for(i=0; i<size/sizeof(dateType);++i){
newPtr[i]= ((dateType * )dateP)[i];
}
//Or in short way (and faster?):
MemMove(newPtr,dataP,size);
///END OF EXAMPLE
In PalmOS reference in description of MemPtrSize is:
"Call this routine to get the original requested size of a chunk. "
Memory manager doesn't know any thing about structure of objects you
store in memory so it can't return count of this object.
I hope it's now clear. If not, try to write simple program which uses
MemPtrSize on memory chunk which size is known and check what it
returns.
Regards,
Gregory
--
For information on using the PalmSource Developer Forums, or to unsubscribe,
please see http://www.palmos.com/dev/support/forums/