Serialization with versioning (VERSIONABLE_SCHEMA)
Richard Newman -- RNewman@spur.com Friday, December 06, 1996 Environment: VC++ 4.2-flat, Win 95, NT 4.0 Hello, How do we use nested serialization and versioning at the same time? If = a base class calls GetObjectSchema, the derived class can't seem to do = the same successfully after it's called the base class' Serialize (just = before the derived does the GetObjectSchema call). Can anyone help with = this? class A : public CObject; class B : public A; BOOL A::Serialize(CArchive& ar) { CObject.Serialize(ar); ... GetObjectSchema(); //Returns version ... } BOOL B::Serialize(CArchive& ar) { A::Serialize(ar); .. GetObjectSchema(); // Returns -1 ... }
CraigTT@ccmail01.PE-Nelson.COM Monday, December 09, 1996 [Mini-digest: 3 responses] If you're going to do nested serialization, either because you have a class hierarchy or you have an actual instance of one class as a member of another class, you have to handle versioning yourself. MFC's versioning ONLY works one level deep when using the insertion and extraction operators through POINTERS to objects. MFC does nothing for you when you call Serialize directly since you're going directly to your code. Tim Craig PE-Nelson ______________________________ Reply Separator _________________________________ Subject: Serialization with versioning (VERSIONABLE_SCHEMA) Author: mfc-l@netcom.com at SMTPLINK-PEN Date: 12/9/96 6:05 PM Received: by ccmail from lax.PE-Nelson.COM >From owner-mfc-l@majordomo.netcom.com X-Envelope-From: owner-mfc-l@majordomo.netcom.com Received: from majordomo.netcom.com (listless.netcom.com) by lax.PE-Nelson.COM (5.65c/IDA/PE-Nelson) id AA03637; Mon, 9 Dec 1996 18:03:30 -0800 Received: by majordomo.netcom.com (8.7.5/8.7.3/(NETCOM MLS v1.01)) id OAA03439; Mon, 9 Dec 1996 14:21:36 -0800 (PST) Message-Id: <01BBE389.EE4EFFC0@ENG04.spur.com> From: Richard NewmanTo: "'mfc-l@netcom.com'" Subject: Serialization with versioning (VERSIONABLE_SCHEMA) Date: Fri, 6 Dec 1996 15:27:01 -0700 Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"
| Вернуться в корень Архива |