CArchive::WriteClass
Użyj WriteClass do przechowywania wersji i klasy informacji klasy podstawowej podczas serializacji klasy pochodnej.
void WriteClass(
const CRuntimeClass* pClassRef
);
Parametry
- pClassRef
Wskaźnik do CRuntimeClass strukturę, która odpowiada odwołania klasy wymagane.
Uwagi
WriteClasszapisuje odniesienie do CRuntimeClass dla klasy podstawowej do CArchive.Użyj CArchive::ReadClass do pobierania odniesienia.
WriteClasssprawdza, czy informacje o zarchiwizowanych klasy jest zgodny z klasy runtime.Jeśli nie jest zgodny, WriteClass wygeneruje CArchiveException.
Należy użyć klasy runtime DECLARE_SERIAL i IMPLEMENT_SERIAL; w przeciwnym razie WriteClass wygeneruje CNotSupportedException.
Można użyć SerializeClass zamiast WriteClass, która obsługuje zarówno odczytywania i zapisywania odwołania klasy.
Przykład
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();
}
Wymagania
Nagłówek: afx.h