CArchive::MapObject

аннулировать MapObject (const CObject * МР );

Параметры

мР

Постоянное указатель на объект будет храниться.

Примечания

Вызов этой функции-члена для размещать объекты на карте, не сериализуются в файл, но, доступных для вложенных объектов для ссылки. К примеру не может сериализовать документ, но будет сериализовать элементы, которые являются частью docume&nt.nbsp; Путем вызова MapObject, разрешить эти элементы или подчиненные объекты, чтобы ссылаться на этот документ. Кроме того сериализованный подэлементов можно сериализовать их обратный указатель m_pDocument.

Вы можете вызвать MapObject когда вы хранить и загрузить из объекта CArchive . MapObject добавляет указанный объект в структуры внутренних данных, поддерживаемых объекта CArchive во время сериализации и десериализации, но в отличие от ReadObject и, WriteObjectне называем сериализовать объект.

Пример

/ / MyDoc.h
/ / Документ должен иметь DECLARE_SERIAL и IMPLEMENT_SERIAL

класс CMyDocument: государственные CDocument
{
   CObList m_listOfSubItems;
 nbsp;  ...
   DECLARE_SERIAL(CMyDocument)
};

/ / MyDoc.cpp
...
IMPLEMENT_SERIAL (CMyDocument, от CObject, 1)
...
void CMyDocument::Serialize (CArchive и Ар)
{
   Если (Ар.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; / / другие пункт данных

виртуальный void Serialize (CArchive и Ар);
};

//SubItem.cpp
void CSubItem::Serialize (CArchive и Ар)
{
   Если (Ар.IsStoring())
   {
      / / будет сериализовать содержащимся ссылка указателя «сопоставленных» документа
      Ар << m_pDoc;  
      Ар << m_i;
   }
   остальное
   {
      / / Загружает ссылку на указатель «сопоставленных» документа //первое
      Ар >> m_pDoc;
      Ар >> m_i;
   }
}

Обзор CArchiveЧлены класса | Иерархическая схема

См. также CArchive::ReadObject, CArchive::WriteObject

Index