CArchive::GetObjectSchema

UINT GetObjectSchema ( );

Rückgabewert

Während der Deserialisierung, die Version des Objekts gelesen werden.

Bemerkungen

Rufen Sie diese Funktion aus der Serialize -Funktion, um die Version des Objekts bestimmen, der gerade deserialisiert wird. Diese Funktion ist nur gültig, wenn das CArchive -Objekt geladen (CArchive::IsLoading gibt ungleich null). Es sollte der erste Aufruf der Serialize -Funktion und nur einmal aufgerufen. Ein Rückgabewert – 1 (UINT) gibt an, dass die Version Anzahl unbekannt ist).

Eine CObject-abgeleitete Klasse VERSIONABLE_SCHEMA (mithilfe der bitweisen oder) kombiniert mit der Schemaversion (im Makro IMPLEMENT_SERIAL ) verwenden zum Erstellen eines "versionierbaren Objekts," d. h. ein Objekt, dessen Memberfunktion Serialize kann mehrere Versionen lesen. Die Standard-Framework-Funktionalität (ohne VERSIONABLE_SCHEMA) ist eine Ausnahme ausgelöst, wenn die Version falsch zugeordnet wurden, ist.

Beispiel

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

void CMyObject::Serialize (CArchiveamp; Ar) {}
   Wenn (Ar.IsLoading())
   {
      Int nFür = Ar.GetObjectSchema();

Switch(nVersion)
      {
      Case 0:
         / / in früheren Version von read / / dieses Objekt
         brechen;
      Fall 1:
         / / Lesen Sie in der aktuellen Version
         / / Dieses Objekt
         brechen;
      Standard:
         / / Bericht Unbekannte Version der / / dieses Objekt
         brechen;
      }
   }
   anderes
   {
      / / Normal speichern Code hier einfügen
   }
}

Übersicht über die CArchiveMember der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CObject::Serialize, CObject::IsSerializable, IMPLEMENT_SERIAL, DECLARE_SERIAL, CArchive::IsLoading

Index