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 CArchive | Member der Klasse | Hierarchiediagramm
Siehe auch&Nbsp;CObject::Serialize, CObject::IsSerializable, IMPLEMENT_SERIAL, DECLARE_SERIAL, CArchive::IsLoading