CArchive:: GetObjectSchema

UINT GetObjectSchema ( );

Valor de retorno

Durante a desserialização, a versão do objeto a ser lido.

Observações

Chame essa função da função Serialize para determinar a versão do objeto que está atualmente sendo desserializado. Chamar essa função somente é válido quando o objeto de CArchive está sendo carregada (CArchive:: IsLoading retorna diferente de zero). Ele deve ser o primeiro chamar a função de Serialize e chamado somente uma vez. Um valor de retorno de – 1 (UINT) indica que o número de versão é desconhecido).

Um CObject-classe derivada pode usar VERSIONABLE_SCHEMA combinados (usando a bit a bit ou) com a versão do esquema próprio (na macro IMPLEMENT_SERIAL ) para criar um objeto"escalabilidade flexibilidade de versões," isto é, um objeto cuja função de membro Serialize pode ler várias versões. A funcionalidade de quadro padrão (sem VERSIONABLE_SCHEMA) é lançar uma exceção quando a versão é incompatível.

Exemplo

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

void CMyObject::Serialize (CArchiveamp; ar) {
   se (ar.IsLoading())
   {
      int nVersion = ar.GetObjectSchema();

Switch(nVersion)
      {
      caso 0:
         / / ler na versão anterior do / / este objeto
         quebra;
      caso 1:
         / / ler na versão atual do
         / / Este objeto
         quebra;
      padrão:
         / / relatório versão desconhecida do / / este objeto
         quebra;
      }
   }
   outra pessoa
   {
      / / Normal armazenar código vai aqui
   }
}

Visão geral de CArchiveMembros de classe | Gráfico de hierarquia

Consulte tambémnbsp;CObject:: Serialize, CObject::IsSerializable, IMPLEME&NT_SERIAL, DECLARE_SERIAL, CArchive:: IsLoading

Index