UINT GetObjectSchema ( );
Valore restituito
Durante la deserializzazione, la versione dell'oggetto in lettura.
Osservazioni
Chiamare questa funzione dalla funzione Serialize per determinare la versione dell'oggetto che attualmente viene deserializzato. Chiamare questa funzione è valida solo quando l'oggetto CArchive è essere caricato (CArchive::IsLoading ritorna diverso da zero). Dovrebbe essere la prima chiamata nella funzione Serialize e chiamato solo una volta. Un valore restituito di (UINT) – 1 indica che il numero di versione è sconosciuto).
Un CObject-classe derivata può utilizzare VERSIONABLE_SCHEMA (tramite bit per bit O) in combinazione con la versione dello schema (nella macro IMPLEMENT_SERIAL ) per creare un "oggetto autodescrittivo," che è, un oggetto cui funzione membro Serialize può leggere più versioni. La funzionalità del quadro di default (senza VERSIONABLE_SCHEMA) è quello di generare un'eccezione quando la versione annullarlo.
Esempio
IMPLEMENT_SERI&AL (CMyObject, CObject, VERSIONABLE_SCHEMA|1)
public static void CMyObject::Serialize (CArchiveamp; ar) {
Se (ar.IsLoading())
{
int /nPer = ar.GetObjectSchema();
Switch(nVersion)
{
caso 0:
/ / read in versione precedente di / / questo oggetto
pausa;
caso 1:
/ / letto nella versione corrente di
/ / questo oggetto
pausa;
impostazione predefinita:
/ / rapporto versione sconosciuta di / / questo oggetto
pausa;
}
}
altro
{
/ / Normale memorizzare codice va qui
}
}
Pa&noramica di CArchive |nbsp; Membri della classe | Gerarchia Chart
Vedere anchenbsp;CObject::Serialize, CObject::IsSerializable, IMPLEME&NT_SERIAL, DECLARE_SERIAL, CArchive::IsLoading