Nun muss nur noch die Klasse auf das Serialisieren 'vorbereitet' werden, dass heißt Visual C++ braucht noch eine zusätzliche Zeile in der Datei Linie.h und eine in der Datei Linie.cpp. Würden noch andere Klassen gespeichert werden würden diese Zeilen auch dort benötigt.
Und zwar in der Datei Linie.h direkt in der Klasse:
DECLARE_SERIAL(Linie)
Erklärung der Parameter:
1.Parameter : Name der Klasse selber, Linie
Und zwar in der Datei Linie.cpp:
IMPLEMENT_SERIAL(Linie,CObject,1)
Erklärung der Parameter:
1.Parameter : Name der Klasse selber, Linie
2.Parameter : Name der Klasse von die Klasse abgeleitet wurde, CObject
3.Parameter : Versionsnummer, hat für uns noch keine Bedeutung, werden aber mehrere Klassen serialisiert, muss überall die gleiche Versionsnummer eingetragen werden.
Linie.h
// Linie.h: Schnittstelle für die Klasse Linie.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_LINIE_H__1D1B215B_847B_41F4_B837_877ABE780E17__INCLUDED_)
#define AFX_LINIE_H__1D1B215B_847B_41F4_B837_877ABE780E17__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class Linie : public CObject
{
public:
void Serialize(CArchive &ar);
DECLARE_SERIAL(Linie)
int dicke;
COLORREF farbe;
CPoint endpunkt;
CPoint startpunkt;
Linie();
virtual ~Linie();
};
#endif // !defined(AFX_LINIE_H__1D1B215B_847B_41F4_B837_877ABE780E17__INCLUDED_)
Linie.cpp
// Linie.cpp: Implementierung der Klasse Linie.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "stdafx.h"
#include "Linie.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Konstruktion/Destruktion
//////////////////////////////////////////////////////////////////////
IMPLEMENT_SERIAL(Linie,CObject,1)