void MapObject (const CObject * pOb );
Parameter
pOb
Ein konstanter Zeiger auf das Objekt gespeichert werden.
Bemerkungen
Rufe&n Sie diese Memberfunktion um Gegenstände in die Karte, die nicht wirklich auf die Datei serialisiert werden, jedoch sind verfügbar für Unterobjekte zu verweisen. Beispielsweise Sie können ein Dokument nicht serialisieren, aber Sie würde Serialisieren der Elemente, die Teil der document.nbsp sind; Durch MapObjectaufrufen, können Sie die Elemente oder Teilobjekte, um das Dokument verweisen. Auch können serialisierten Unterelemente ihre M_pDocument Rückwärtszeiger serialisieren.
MapObject können Sie aufrufen, wenn Sie zum Speichern und von das CArchive -Objekt laden. MapObject fügt das angegebene Objekt auf die internen Datenstrukturen verwaltet das CArchive -Objekt während der Serialisierung und Deserialisierung, aber im Gegensatz zu ReadObject und WriteObject, es nicht aufgerufen Serialisieren des Objekts.
Beispiel
/ / MyDoc.h
/ / Dokument müssen DECLARE_SERIAL und IMPLEMENT_SERIAL
Klasse CMyDocument: öffentliche CDocument
{
CObList M_listOfSubItems;
Nbsp; ...
DECLARE_SERIAL(CMyDocument)
};
/ / MyDoc.cpp
...
IMPLEMENT_SERIAL (CMyDocument, CObject, 1)
...
privatevoid CMyDocument::Serialize (CArchive & Ar)
{
Wenn (Ar.IsStoring())
{
/ / TODO: Fügen Sie speichern Code hier
}
anderes
{
/ / TODO: Fügen Sie hier Code laden
}
AR.MapObject(this);
//Serialize die Unterelemente im Dokument;
//They werden in der Lage, ihre M_pDoc zu serialisieren
//Back Zeiger
m_listOfSubItems.Serialize(AR);
}
//SubItem.h
CSubItem-Klasse: public CObject
{
Öffentliche:
CSubItem(CMyDocument * pDoc)
{M_pDoc = pDoc;}
/ / Zeiger auf Besitz Dokument zurück
CMyDocument * M_pDoc;
WORD M_i; / / andere Positionsdaten
virtuelle Deserialize (CArchive & Ar);
};
//SubItem.cpp
privatevoid CSubItem::Serialize (CArchive & Ar)
{
Wenn (Ar.IsStoring())
{
/ / wird ein Verweis //to Zeigers "zugeordnete" Dokument serialisieren
AR << M_pDoc;
AR << M_i;
}
anderes
{
/ / lädt einen Verweis auf //die "zugeordnete" Dokument Zeiger
AR >> M_pDoc;
AR >> M_i;
}
}
Übersicht über die CArchive | Member der Klasse | Hierarchiediagramm
Siehe auch&Nbsp;CArchive::ReadObject, CArchive::WriteObject