CArchive::GetObjectSchema

UINT GetObjectSchema ( );

Valeur de retour

Pendant la désérialisation, la version de l'objet est lu.

Remarques

Appelez cette fonction à partir de la fonction Serialize pour déterminer la version de l'objet qui est actuellement en cours de désérialisation. Appel de cette fonction est valide uniquement lorsque l'objet CArchive chargé (CArchive::IsLoading retourne zéro). Il devrait être le premier appel à la fonction Serialize et appelée une seule fois. Une valeur de retour (UINT) – 1 indique que le numéro de version est inconnu).

Un CObject-classe dérivée peut utiliser VERSIONABLE_SCHEMA combinées (à l'aide de bits ou) avec la version du schéma lui-même (dans la macro IMPLEMENT_SERIAL ) pour créer un « objet de versionnables, « c'est un objet dont fonction de membre Serialize peut lire plusieurs versions. La fonctionnalité de cadre par défaut (sans VERSIONABLE_SCHEMA) est pour lever une exception lorsque la version est incorrect.

Exemple

IMPLEMENT_SERI&AL (CMyObject, CObject, VERSIONABLE_SCHEMA|1)

VOID CMyObject::Serialize (CArchiveamp ; ar) {
   Si (EI.IsLoading())
   {
      nLa int = ar.GetObjectSchema() ;

Switch(nVersion)
      {
      case 0 :
         / / lu dans la version précédente de / / cet objet
         Pause ;
      cas 1 :
         / / lu dans la version actuelle de
         / / Cet objet
         Pause ;
      par défaut :
         / rapport version inconnue / / cet objet
         Pause ;
      }
   }
   autre
   {
      / / Normal de stocker le code va ici
   }
}

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

Voir aussinbsp ;CObject::Serialize, CObject::IsSerializable, IMPLEME&NT_SERIAL, DECLARE_SERIAL, CArchive::IsLoading

Index