
Thanks. If I changed the order of the members being serialized it worked fine. Weird. However, I am running into a problem. I am using reference counted Smart Pointers. If I serialize the reference counter, then when it is loaded it will likely contain too large of a reference count because there were more objects referencing the pointer when it was saved than when it was loaded. However, it works fine it just doesn't properly delete the objects because the reference count never reaches 0. If I don't serialize the reference count then the objects try to delete themselves while boost is loading them from the file. I'm guessing because of the order everything happens, the final destination isn't increasing the reference count until after boost already dereferences it. Any suggestions? I thought maybe if there was a way to tell if the operation was saving during the serialize function I could just set the reference count to one, however that could be erroneous also if the same object being loaded has more than one smartpointer to the same object. I'm stumped... - Chris ----- Original Message ----- From: "Robert Ramey" <ramey@rrsd.com> To: boost-users@lists.boost.org Date: Tue, 5 Jul 2005 15:25:27 -0700 Subject: Re: [Boost-users] Serialization and null pointers
This shouldn't happen.
you might try using an xml_archive so you can better see the output. This will also check that the data saved and data loaded are "in sync". That is that the same data is being saved and loaded.
If all that fails, you'lll have to boil it down to a small example and send it in
Robert Ramey
boost@iyates.com wrote:
Hello,
I have an object graph that is being serialized using a binary archive. It saves to the file fine, however a class member is being serialized is a null pointer.
When I go to open the file, I get an access violation in basic_iarchive.cpp on line 393:
bpis_ptr->load_object_ptr(ar, t, co.file_version);
t is 0x00000000
Is there a way around this? Thank you.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users