CArchive::MapObject

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

Index