void MapObject (const CObject * pOb );
Parametry
pOb
Stała wskaźnik do obiektu są przechowywane.
Uwagi
Wywołanie funkcji tego Państwa do obiektów na mapie, że tak naprawdę nie są szeregowane do pliku, ale, które są dostępne dla podobiektów odwołać. &Na przykład nie może szeregować dokumentu, ale będzie serializować elementy, które są częścią document.nbsp; Przez wywołanie MapObject, umożliwia te elementy lub podobiektów, aby odwołać dokumentu. Ponadto serializowane podelementy można serializować wskaźnik Wróć m_pDocument.
MapObject można wywołać, przechowywać i załadować z obiektu CArchive . MapObject dodaje określony obiekt do struktur danych wewnętrznych, utrzymywane przez obiekt CArchive podczas serializacji i deserializacji, ale w przeciwieństwie do funkcji ReadObject i funkcji WriteObject, go nie wymagają serializować obiektu.
Przykład
/ / MyDoc.h
/ / Dokument powinien mieć DECLARE_SERIAL i IMPLEMENT_SERIAL
Klasa CMyDocument: CDocument publicznych
{
CObList m_listOfSubItems;
nbsp; ...
DECLARE_SERIAL(CMyDocument)
};
/ / MyDoc.cpp
...
IMPLEMENT_SERIAL (CMyDocument, CObject, 1)
...
void CMyDocument::Serialize (CArchive & czda)
{
Jeżeli (cz.d.a.IsStoring())
{
/ / TODO: Dodaj przechowywanie kod tutaj
}
Else
{
/ / TODO: Dodaj kod ładujący tutaj
}
cz.d.a.MapObject(this);
//serialize elementy podrzędne w dokumencie;
//They będzie serializować ich m_pDoc
wskaźnik //Back
m_listOfSubItems.serialize(AR);
}
//SubItem.h
Klasa CSubItem: CObject publicznych
{
publiczne:
CSubItem(CMyDocument * pDoc)
{m_pDoc = pDoc;}
/ / wskaźnik z powrotem do właściciel dokumentu
CMyDocument * m_pDoc;
Program WORD m_i; / / inne element danych
wirtualny Serialize nieważne (CArchive & czda);
};
//SubItem.cpp
void CSubItem::Serialize (CArchive & czda)
{
Jeżeli (cz.d.a.IsStoring())
{
/ / będzie serializować //to odniesienia wskaźnik dokumentu "mapowane"
Ar << m_pDoc;
Ar << m_i;
}
Else
{
/ / załaduje odwołanie do //drugi "zmapowane" dokument wskaźnik
Ar >> m_pDoc;
Ar >> m_i;
}
}
Omówie&nie CArchive |nbsp; Klasa członków | Wykres hierarchii
Zobacz też CArchive::ReadObject, CArchive::WriteObject