CArchive::WriteClass
Utilisez WriteClass pour stocker la version et les informations de classe d'une classe de base pendant la sérialisation de la classe dérivée.
void WriteClass(
const CRuntimeClass* pClassRef
);
Paramètres
- pClassRef
Un pointeur vers une structure de CRuntimeClass qui correspond à la référence de classe demandée.
Notes
WriteClass écrit une référence à CRuntimeClass pour la classe de base à CArchive. Utilisation CArchive::ReadClass de récupérer la référence.
WriteClass vérifie que les informations de classe archivées sont compatibles avec votre classe d'exécution. S'il n'est pas compatible, WriteClass lève CArchiveException.
Votre classe de runtime doit utiliser DECLARE_SERIAL et IMPLEMENT_SERIAL; sinon, WriteClass lève CNotSupportedException.
Vous pouvez utiliser SerializeClass au lieu d' WriteClass, qui gère la lecture et l'écriture de la référence de classe.
Exemple
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();
}
Configuration requise
Header: afx.h