Hallo Zusammen
Stehe da vor einem kleineren Problem und hoffe, dass mir jemand einen Tipp geben kann.
Ich möchte eine Klassse ("CTestClass") serialisieren.
Serialisiert wird sie wie folgt:
ListOfTestClasses ist eine CPtrArray. Wenn ich jedes Objekt einzeln serialisiere, funktioniert es ohne Probleme.
Beispiel:
Der Sinn der Sache ist jedoch, dass ich keinen loop um alle Objekte machen muss um sie zu serialisieren.
Was mache ich falsch, resp. was verstehe ich da nicht ganz?
Danke für eure Hilfe
Stehe da vor einem kleineren Problem und hoffe, dass mir jemand einen Tipp geben kann.
Ich möchte eine Klassse ("CTestClass") serialisieren.
Code:
class CTestClass : public CObject
{
DECLARE_SERIAL(CTestClass)
public:
CTestClass(void);
~CTestClass(void);
CString s;
void Serialize(CArchive& archive);
};
Code:
#include "TestClass.h"
IMPLEMENT_SERIAL(CTestClass, CObject, 1)
CTestClass::CTestClass(void)
{
}
CTestClass::~CTestClass(void)
{
}
void CTestClass::Serialize( CArchive& archive )
{
CObject::Serialize( archive );
if( archive.IsStoring() )
archive << s;
else
archive >> s;
}
Serialisiert wird sie wie folgt:
Code:
CFile f;
// serialize it
if( f.Open("test.txt" , CFile::modeCreate | CFile::modeWrite ) )
{
CArchive ar(&f,CArchive::store);
ListOfTestClasses.Serialize(ar); // CPtrArray
ar.Close();
f.Close();
}
ListOfTestClasses ist eine CPtrArray. Wenn ich jedes Objekt einzeln serialisiere, funktioniert es ohne Probleme.
Beispiel:
Code:
for(int i = 0; i< count; i++)
{
c = (CTestClass*)ListOfTestClasses.GetAt(i);
c->Serialize(ar);
}
Was mache ich falsch, resp. was verstehe ich da nicht ganz?
Danke für eure Hilfe