On 28/12/2016 at 07:36, xxxxxxxx wrote:
Thank you for your reply Yannik.
In this simplified example, I have 2 vector arrays myVectorsA and myVectorsB, and an integer value that I am storing named myCount.
Here is my Read/Write/CopyTo code:
Bool myObject::Read(GeListNode *node, HyperFile *hf, LONG level)
{
LONG stored_cnt = 0;
hf->ReadLong(&stored_cnt);
myVectorsA.Resize(stored_cnt);
LONG stored_cnt1 = 0;
hf->ReadLong(&stored_cnt1);
myVectorsB.Resize(stored_cnt1);
if (level>=0)
{
for (LONG i=0; i<stored_cnt; i++) { hf->ReadLVector(&myVectorsA[i]); }
for (LONG i=0; i<stored_cnt1; i++) { hf->ReadLVector(&myVectorsB[i]); }
hf->ReadLong(&myCount);
}
return TRUE;
}
Bool myObject::Write(GeListNode *node, HyperFile *hf)
{
hf->WriteLong(myVectorsA.GetCount());
hf->WriteLong(myVectorsB.GetCount());
for (LONG i=0; i<myVectorsA.GetCount(); i++)
{
hf->WriteLVector(myVectorsA[i]);
}
for (LONG i=0; i<myVectorsB.GetCount(); i++)
{
hf->WriteLVector(myVectorsB[i]);
}
hf->WriteLong(myCount);
return TRUE;
}
Bool myObject::CopyTo(NodeData *dest, GeListNode *snode, GeListNode *dnode, COPYFLAGS flags, AliasTrans *trn)
{
myObject* myObject= NULL;
myObject= static_cast<myObject*>(dest);
myObject->myVectorsA.CopyFrom(myVectorsA);
myObject->myVectorsB.CopyFrom(myVectorsB);
myObject->myCount= myCount;
return true;
};
Thanks