Partager via


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

Voir aussi

Référence

CArchive, classe

Graphique de la hiérarchie

CArchive::ReadClass

CArchive::GetObjectSchema

CArchive::SetObjectSchema

CArchive::SerializeClass

CArchiveException, classe

CNotSupportedException, classe

CObList::CObList