UINT GetObjectSchema ( );
Wartość zwracany
Podczas deserializacji, wersji obiektu odczytywanego.
Uwagi
Wywołanie tej funkcji z funkcji Serialize wersję obiektu, który jest obecnie deserializacji. Wywołanie tej funkcji jest prawidłowa tylko gdy obiekt CArchive jest ładowane (CArchive::IsLoading zwraca zera). Powinno być pierwszym wywołaniem funkcji Serialize i wywołać tylko raz. Zwracana wartość wynosząca –1 (UINT) wskazuje, że numer wersji jest nieznana).
CObject-pochodną klasy mogą używać VERSIONABLE_SCHEMA Scalonej (używając logiczną lub) z samej wersji schematu (w makrze IMPLEMENT_SERIAL ) do utworzenia "niezawodnych obiektu," oznacza to, że obiekt którego funkcja Członkowskie Serialize można znaleźć wiele wersji. Funkcję ramy domyślną (bez VERSIONABLE_SCHEMA) ma Zgłoś wyjątek, gdy niezgodność wersji.
Przykład
IMPLEMENT_SERI&AL (CMyObject, CObject, VERSIONABLE_SCHEMA|1)
void CMyObject::Serialize (CArchiveamp; ar) {}
Jeżeli (cz.d.a.IsLoading())
{
int nWymagana = ar.GetObjectSchema();
Switch(nVersion)
{
przypadek 0:
/ / Odczyt w poprzedniej wersji / / tego obiektu
podział;
przypadek 1:
/ / Odczyt w bieżącej wersji
/ / tego obiektu
podział;
wartość domyślna:
/ / report nieznanej wersji / / tego obiektu
podział;
}
}
Else
{
/ / Normalny przechowywanie kodu tu
}
}
Omówie&nie CArchive |nbsp; Klasa członków | Wykres hierarchii
Zobacz teżnbsp;CObject::Serialize, CObject::IsSerializable, IMPLEME&NT_SERIAL, DECLARE_SERIAL, CArchive::IsLoading