Re: Skipping parts of a serialized file
The biggest problem I have with serialization in the traditional MFC sense
is that it is very difficult for others to know how to read the files. It
is also very difficult, though not impossible by any means, to do
versioning. It is handy for temp files, but for something that may need to
persist I'd rather use some other, more easily distinguishable format even
if it takes more time to parse like INI or XML. Almost all formats have
forward compatibility issues, but I just fine serialized files difficult to
work with. Of course, that's just an opinion :o)
Tom
"Goran" <goran.pusic@gmail.com> wrote in message
news:202d0b3a-75fe-4beb-a449-cbd43a3083b6@a12g2000yqm.googlegroups.com...
On Mar 12, 7:30 pm, Scoots <linkingf...@msn.com> wrote:
... The file produced has a minimum of about 3kb's
of runtime information from serializing a CDocument. However, they
don't serialize any of the information in that Document, it is written
out in a stable file format.
How about asking for/creating a function (you say you have all
sources) that can read up to the part you can read? Then you can
continue from the known point, in that known water. DLL is probably
the best solution, but be aware of caveats, like, your code must be on
a same MFC release as the DLL.
To create such a function, you could envisage splitting the document
class into base one that only reads data and the full-blown one used
in the external app. (But this may be hard, as document classes tend
to meddle everywhere in the app, and, if one is allowed an opinion,
for dubious reasons).
HTH,
Goran.
P.S. I disagree with Joseph on the general usefulness of MFC
serialization. Sure, one can do better, but MFC does correctly what it
does (e.g. serializing MFC stuff like strings and containers, backward-
compatible object versioning, storing/retrieving of object
references). There's no forward-compatibility, though (old code can
read newer files), which is probably Joe's primary complaint. There
are other issues I've seen, too, but hey, life ain't perfect! ;-)