CArchive::MapObject

до втрати MapObject (константа CObject * а / );

Параметри

а /

Постійна вказівник на об'єкт, збереження.

Зауваження

Цей член функцію, щоб розмістити об'єкти на карті, яка дійсно не серіалізованной на файл, але що доступні для під-об'єктами посилання. Наприклад, ви не можете сериализации документ, але ви б сериализации об'єктів, які є частиною docume&nt.nbsp; Виклик MapObject, дає змогу елементи, або під-об'єктами, посилання на документ. Крім того, серіалізованной підпункти можна сериализации m_pDocument назад вказівника миші.

Ви можете назвати MapObject , під час зберігання до і завантажити з CArchive об'єкт. MapObject додає цей об'єкт внутрішні дані структури, що підтримується CArchive об'єкта, під час серіалізацією і deserialization, але на відміну від ReadObject і WriteObject, це не називають сериализации об'єкт.

Приклад

/ / MyDoc.h
/ / Документ повинен мати, DECLARE_SERIAL і IMPLEMENT_SERIAL

клас CMyDocument: Громадська CDocument
{
   CObList m_listOfSubItems;
 nbsp;  ...
   DECLARE_SERIAL(CMyDocument)
};

/ / MyDoc.cpp
...
IMPLEMENT_SERIAL (CMyDocument, CObject, 1)
...
недійсним CMyDocument::Serialize (CArchive & ar)
{
   Якщо (АР.IsStoring())
   {
      / / TODO: додати зберігання код тут
   }
   інше
   {
      / / TODO: додайте тут код завантаження
   }

АР.MapObject(this);  
   //serialize підпункти в документ;
   //They зможуть сериализации їх m_pDoc
   //Back вказівник
   m_listOfSubItems.serialize(AR);

}

//SubItem.h
клас CSubItem: Громадська CObject
{
готелю:
   CSubItem(CMyDocument * pDoc)
      {m_pDoc = pDoc;}

/ / назад вказівник на володіння документа
   CMyDocument * m_pDoc; 
   СЛОВО m_i; / / Інші елемента даних

Віртуальний недійсним Serialize (CArchive & ar);
};

//SubItem.cpp
недійсним CSubItem::Serialize (CArchive & ar)
{
   Якщо (АР.IsStoring())
   {
      / / буде сериализации посилання //to "зіставлених" документ вказівник
      Залишено << m_pDoc;  
      Залишено << m_i;
   }
   інше
   {
      / / буде завантажити посилання на //the "зіставлених" документ вказівник
      Залишено >> m_pDoc;
      Залишено >> m_i;
   }
}

Огляд CArchiveЧлени класу | Ієрархічна діаграма

Дивіться також CArchive::ReadObject, CArchive::WriteObject

Index