CArchive::WriteClass
Utilice WriteClass para almacenar la información de versión y de clase de una clase base durante la serialización de clases derivadas.
void WriteClass(
const CRuntimeClass* pClassRef
);
Parámetros
- pClassRef
Un puntero a la estructura de Recursos que corresponde a la clase referencia solicitada.
Comentarios
WriteClass escribe una referencia a Recursos para la clase base a CArchive.Uso CArchive::ReadClass de recuperar la referencia.
WriteClass comprueba que la información almacenada de la clase es compatible con la clase del runtime.Si no es compatible, WriteClass producirá CArchiveException.
La clase en tiempo de ejecución debe usar DECLARE_SERIAL y IMPLEMENT_SERIAL; si no, WriteClass producirá CNotSupportedException.
Puede utilizar SerializeClass en lugar de WriteClass, que controla la lectura y la escritura de la referencia de la clase.
Ejemplo
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();
}
Requisitos
encabezado: afx.h