CArchive::WriteClass
Utilizzare WriteClass per archiviare la versione e le informazioni sulle classi di una classe base durante la serializzazione della classe derivata.
void WriteClass(
const CRuntimeClass* pClassRef
);
Parametri
- pClassRef
Un puntatore a una struttura CRuntimeClass che corrisponde al riferimento della classe.
Note
WriteClass scrive un riferimento a CRuntimeClass per la classe base a CArchive.Utilizzo CArchive::ReadClass recuperare il riferimento.
WriteClass verifica che le informazioni sulle classi archiviate siano compatibili con la classe di runtime.Se non è compatibile, WriteClass genererà CArchiveException.
La classe di runtime deve utilizzare DECLARE_SERIAL e IMPLEMENT_SERIAL; in caso contrario, WriteClass genererà CNotSupportedException.
È possibile utilizzare SerializeClass anziché WriteClass, che gestisce la lettura e la scrittura del riferimento della classe.
Esempio
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();
}
Requisiti
Header: afx.h