CArchive::GetObjectSchema

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

Index