CArchive::MapObject

void MapObject (const CObject * pOb );

Paramètres

pOb

Un pointeur constant à l'objet sont stockée.

Remarques

Appelez cette fo&nction membre pour placer des objets dans la carte, qui ne sont pas vraiment sérialisées dans le fichier, mais qui sont disponibles pour les sous-objets pour faire référence à. Par exemple, vous ne pouvez pas sérialiser un document, mais vous serait sérialiser les éléments qui font partie de la document.nbsp ; En appelant MapObject, vous autorisez ces éléments, ou des sous-objets, pour le document de référence. Aussi, les sous-éléments sérialisés peuvent sérialiser leur pointeur dos m_pDocument.

Vous pouvez appeler MapObject lorsque vous stockez et chargez à partir de l'objet CArchive . MapObject ajoute l'objet spécifié pour les structures de données internes, maintenues par l'objet CArchive pendant la sérialisation et la désérialisation, mais contrairement à ReadObject et WriteObject, il n'appelle pas sérialiser l'objet.

Exemple

/ / MyDoc.h
/ / Le document devrait avoir DECLARE_SERIAL et IMPLEMENT_SERIAL

Class CMyDocument : public CDocument
{
   CObList m_listOfSubItems ;
 nbsp ;  ...
   DECLARE_SERIAL(CMyDocument)
};

/ / MyDoc.cpp
...
IMPLEMENT_SERIAL (CMyDocument, CObject, 1)
...
VOID CMyDocument::Serialize (CArchive & ar)
{
   Si (EI.IsStoring())
   {
      / / TODO : add stockage code ici
   }
   autre
   {
      / / TODO : Ajoutez ici code de chargement
   }

AR.MapObject(this) ;  
   //Serialize les paragraphes dans le document ;
   //They sera capable de sérialiser leurs m_pDoc
   pointeur //Back
   m_listOfSubItems.Serialize(AR) ;

}

//SubItem.h
Class CSubItem : public CObject
{
public :
   CSubItem(CMyDocument * pDoc)
      {m_pDoc = pDoc;}

/ / pointeur de retour de posséder le document
   CMyDocument * m_pDoc ; 
   MOT m_i ; et d'autres données de point

Serialize void virtuelle (CArchive & ar) ;
};

//SubItem.cpp
VOID CSubItem::Serialize (CArchive & ar)
{
   Si (EI.IsStoring())
   {
      / / sérialise une référence //to le pointeur du document « mappé »
      AR << m_pDoc ;  
      AR << m_i ;
   }
   autre
   {
      / / charge une référence au pointeur de « mappé » document //la
      AR >> m_pDoc ;
      AR >> m_i ;
   }
}

Aperçu CArchive |  ; Membres de la classe | Graphique de la hiérarchie

Voir aussi  ;CArchive::ReadObject, CArchive::WriteObject

Index