Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie WriteClass, um die Version und die Klasseninformationen einer Basisklasse während der Serialisierung der abgeleiteten Klasse zu speichern.
void WriteClass(
const CRuntimeClass* pClassRef
);
Parameter
- pClassRef
Ein Zeiger auf die CRuntimeClass-Struktur, die zum angeforderten Klassenverweis entspricht.
Hinweise
WriteClass schreibt CArchive einen Verweis auf CRuntimeClass für die Basisklasse.Verwendung CArchive::ReadClass, den Verweis abrufen.
WriteClass überprüft, ob die archivierten Klasseninformationen mit der Laufzeitklasse kompatibel sind.Wenn es nicht kompatibel ist, löst WriteClassCArchiveException aus.
die Laufzeitklasse muss DECLARE_SERIAL und IMPLEMENT_SERIAL verwenden; andernfalls löst WriteClassCNotSupportedException aus.
Sie können SerializeClass anstelle WriteClass verwenden, das Lesen und Schreiben des Klassenverweises bearbeitet.
Beispiel
CFile myFile(_T("My__test__file.dat"),
CFile::modeCreate | CFile::modeReadWrite);
// Create a storing archive.
CArchive arStore(&myFile, CArchive::store);
// Store the class CAge in the archive.
arStore.WriteClass(RUNTIME_CLASS(CAge));
// Close the storing archive.
arStore.Close();
// Create a loading archive.
myFile.SeekToBegin();
CArchive arLoad(&myFile, CArchive::load);
// Load a class from the archive.
CRuntimeClass* pClass = arLoad.ReadClass();
if (!pClass->IsDerivedFrom(RUNTIME_CLASS(CAge)))
{
arLoad.Abort();
}
Anforderungen
Header: afx.h