void MapObject (const CObject * pOb );
Parametreleri
pOb
Saklanan nesneyi sürekli bir işaretçi.
Açıklamalar
Bu gerçekte&n dosyaya sıralanmış değil ancak referans ındaki için bulunan harita nesneleri yerleştirmek için bu üye işlevini çağırın. Örneğin, eğer değil sokmak bir belge, ama document.nbsp bir parçası olan maddelerin sokmak; MapObjectçağırarak, bu öğeler veya ındaki belge başvurusu yapmak için izin verir. Ayrıca, serileştirilmiş alt öğesi m_pDocument geri işaretçilerini sokmak.
Sen-ebilmek seslenmek MapObject için saklayın ve CArchive nesnesinden yükleyin. MapObject CArchive nesnesinin seri hale getirme ve seri kaldırma sırasında ama aksine ReadObjecttutulan iç veri yapıları için belirtilen nesne ekler ve WriteObject, değil diyoruz nesneyi serialize.
Örnek
/ / MyDoc.h
/ / DECLARE_SERIAL ve IMPLEMENT_SERIAL belge olması gerekir
CMyDocument sınıfı: Genel CDocument
{
CObList m_listOfSubItems;
nbsp; ...
DECLARE_SERIAL(CMyDocument)
};
/ / MyDoc.cpp
...
IMPLEMENT_SERIAL (CMyDocument, CObject, 1)
...
void CMyDocument::Serialize (CArchive & ar)
{
Eğer (ar.IsStoring())
{
/ / todo: depolama kodu buraya ekleyin
}
başka
{
/ / todo: yükleme kodu buraya ekleyin
}
ar.MapObject(this);
//serialize alt belge;
//they kendi m_pDoc sokmak mümkün olacak
//Back işaretçi
m_listOfSubItems.serialize(ar);
}
//SubItem.h
CSubItem sınıfı: Genel CObject
{
public:
CSubItem(CMyDocument * pDoc)
{m_pDoc = pDoc;}
/ / geri işaretçi belge sahibi olmak için
CMyDocument * m_pDoc;
word m_i; / / diğer öğe verileri
Virtual void Serialize (CArchive & ar);
};
//SubItem.cpp
void CSubItem::Serialize (CArchive & ar)
{
Eğer (ar.IsStoring())
{
/ / referans //to "eşleştirilmiş" Belge İşaretçi sokmak
ar << m_pDoc;
ar << m_i;
}
başka
{
/ / //showDocument "eşleştirilmiş" belge işaretçi başvurusu-ecek yük
ar >> m_pDoc;
ar >> m_i;
}
}
CArchive ge&nel bakış |nbsp; Sınıf üyeleri | Hiyerarşi çizelgesi
Ayrıca bkz: CArchive::ReadObject, CArchive::WriteObject