UINT GetObjectSchema ( );
반환 값
버전 읽히고 개체의 deserialization 하는 동안。
주의
현재 역직렬화 중인 개체의 버전을 확인 하려면 Serialize 함수에서이 함수를 호출 합니다. 이 함수를 호출 하는 CArchive 개체 로드 (CArchive::IsLoading 반환 0이 아닌) 되는 경우만 유효입니다. 그것은 Serialize 함수에 첫 번째 호출 이어야 하며 한 번만 호출 합니다. 반환 값이-1 (UINT) 버전 번호가 알 하지 나타냅니다)。
CObject-파생된 클래스 스키마 버전 ( IMPLEMENT_SERIAL 매크로)에서 VERSIONABLE_SCHEMA (비트 또는사용) 결합 하 여 사용할 수 있습니다 "블록인 개체," 누구의 Serialize 멤버 함수는 여러 버전을 읽을 수 있습니다 즉, 개체를 만듭니다. 기본 프레임 워크 기능 ( VERSIONABLE_SCHEMA) 없이 버전이 일치 하지 않을 때 예외를 throw 하는 것。
예제
IMPLEMENT_SERIAL (CMyObject, CObject, VERSIONABLE_SCHEMA|1)
CMyObject::Serialize (CArchiveamp; ar)을 무효로 {
경우 (ar.IsLoading(&))
{
int nVersion = 아칸소.GetObjectSchema();
switch(nVersion)
{
사례 0:
/ /의 이전 버전에서 읽기 / /이 개체
휴식 시간;
사례 1:
/ / 현재 버전의 읽기
/ /이 개체
휴식 시간;
기본값:
/ / 알 수 없는 버전의 신고 / /이 개체
휴식 시간;
}
}
다른
{
/ / 여기에 코드를 저장 하는 일반
}
}
CArchive 개요 |nbsp; 클래스 멤버 (ko) | 계층 구조 차트(&N)
참고 항목nbsp;CObject::Serialize, CObject::IsSerializable, IMPLEMENT_SERIAL, DECLARE_SERIAL, CArchive::IsLoading(&N)