"Alan Ingleby" <[EMAIL PROTECTED]> �b�l�� news:[EMAIL PROTECTED] ��
���g...
> "KEN" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
> > hi all,
> >
> > I have no problem retrieve integers, but when I deal with array[]
> > (integers), I have no idea how to do
> >
> >
> > typedef struct {
> > Int16 *array;
> > // .... other stuff
> > } Path;
> >
> > static readFunction() {
> > // .... strip
> > Path *path
> >
> > recordH = DmQueryRecord(gDB, recordNum); //Read the record
> > path = MemHandleLock(recordH);
> >
> > arr = path->array // here is the problem
> >
> > MemHandleUnlock(recordH);
> >
> > }
>
> Ken, what you describe indicates that you don't understand the fundamental
> concept of pointers in C. You have no idea how frequently issues like
yours
> are brought up in this forum, so you may not get many friendly responses,
> but here goes.
>
> Your structure "Path" contains a POINTER to a location in memory, so when
> you save it to a database record, you are only saving the value in that
> pointer, and NOT the data to which it points. When trying to store
> structures such "Path" in a database, you need firstly to (using a C++
term
> here) "serialize" the data. That is, to convert a complex data set into a
> form whereby it can be stored as a sequential set of bytes. One form of
> serialisation used in the inbuilt PalmOS PIM applications (specifically
the
> Addressbook) is referred to as "packing" and "unpacking".
Thanks for replying.
I understand what you mean, is that below is the code should be ?
MemPtr = pointer;
recordH = DmQueryRecord(gDB, recordNum); //Read the record
path = MemHandleLock(recordH);
path->array = MemPtrNew(sizeof(Int16)*noOfArrayValue);
for (index = 0; index < noOfArrayValue; index++)
{
pointer = (Int16 *) path->array[index];
// ... get value of array[index] using pointer
// (which I don't know how to do)
}
MemHandleUnlock(recordH);
>
> Please get a good book on C programming, and read it well, focussing on
> pointers, the "address of" operator, dereferencing, etc.
>
> Get the sourcecode for the PalmOS PIM apps, and have a look at what I'm
> talking about with pack and unpack.
>
> Read up on serialization.
>
> Alan
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/support/forums/