UINT GetObjectSchema ( );
Valor devuelto
Durante la deserialización, la versión del objeto que se está leyendo.
Observaciones
Llamar a esta función desde la función Serialize para determinar la versión del objeto que se está actualmente está deserializando. Llamar a esta función sólo es válido cuando el objeto CArchive está siendo cargado (CArchive::IsLoading devuelve distinto de cero). Debe ser la primera llamada a la función Serialize y llamado sólo una vez. Un valor devuelto de – 1 (UINT) indica que se desconoce el número de versión).
Un CObject-clase derivada puede usar VERSIONABLE_SCHEMA combinada (usando bit a bit O) con la versión de esquema (en la macro IMPLEMENT_SERIAL ) para crear un "objeto versionable", es decir, un objeto cuya función de miembro Serialize puede leer varias versiones. La funcionalidad de marco predeterminado (sin VERSIONABLE_SCHEMA) es producir una excepción cuando la versión es no coinciden.
Ejemplo
IMPLEMENT_SERI&AL (CMyObject, CObject, VERSIONABLE_SCHEMA|1)
void CMyObject::Serialize (CArchiveamp; ar) {}
Si (ar.IsLoading())
{
int nVersion = ar.GetObjectSchema();
Switch(nVersion)
{
caso 0:
/ / leer en la versión anterior de / / este objeto
romper;
caso 1:
/ / leer en la versión actual de
/ / este objeto
romper;
valor predeterminado:
/ informe versión desconocida de / / este objeto
romper;
}
}
otra cosa
{
/ / Normal almacenar código va aquí
}
}
Visió&n General de CArchive |nbsp; Miembros de clase | Diagrama de jerarquía
Vea tambiénnbsp;CObject::Serialize, CObject::IsSerializable, IMPLEME&NT_SERIAL, DECLARE_SERIAL, CArchive::IsLoading