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/

Reply via email to