Udostępnij za pośrednictwem


CArchive::WriteObject

Przechowuje określone CObject do archiwum.

void WriteObject(
   const CObject* pOb 
);

Parametry

  • pOb
    Stała wskaźnik do obiektu są przechowywane.

Uwagi

Funkcja ta jest zwykle wywoływana CArchive wstawiania (<<) Przeciążony operator dla CObject.Działanie funkcji WriteObject, z kolei wywołuje Serialize funkcji zarchiwizowanych klasy.

Należy użyć IMPLEMENT_SERIAL makra, aby włączyć archiwizację.Działanie funkcji WriteObject zapisuje nazwy klasy ASCII do archiwum.Nazwa tej klasy jest potwierdzone później podczas procesu ładowania.Specjalny system kodowania zapobiega niepotrzebnego dublowania nazwy klasy dla wielu obiektów tej klasy.Ten schemat uniemożliwia także nadmiarowe przechowywania obiektów, które są cele więcej niż jeden wskaźnik.

Dokładne obiektu (w tym obecność Nazwa klasy ASCII) metoda kodowania jest szczegółowa implementacja i może się zmienić w przyszłych wersjach biblioteki.

[!UWAGA]

Zakończ tworzenie, usuwanie i aktualizowanie wszystkich obiektów przed rozpoczęciem ich archiwizacji.Archiwum zostanie uszkodzona, jeśli wymieszać, archiwizacji modyfikacji obiektu.

Przykład

Definicja klasy CAge, na przykład CObList::CObList.

CFile myFile(_T("My__test__file.dat"), 
   CFile::modeCreate | CFile::modeReadWrite);
CAge age(21), *pAge;

// Create a storing archive.
CArchive arStore(&myFile, CArchive::store);

// Write the object to the archive
arStore.WriteObject(&age);

// Close the storing archive
arStore.Close();

// Create a loading archive.
myFile.SeekToBegin();
CArchive arLoad(&myFile, CArchive::load);

// Verify the object is in the archive.
pAge = (CAge*) arLoad.ReadObject(RUNTIME_CLASS(CAge));
ASSERT(age == *pAge);       

Wymagania

Nagłówek: afx.h

Zobacz też

Informacje

Klasa CArchive

Wykres hierarchii

CArchive::ReadObject