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)