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 CArchive | Membros de classe | Gráfico de hierarquia
Consulte tambémnbsp;CObject:: Serialize, CObject::IsSerializable, IMPLEME&NT_SERIAL, DECLARE_SERIAL, CArchive:: IsLoading