Boost logo

Boost Users :

From: Anders Wang Kristensen (awk_at_[hidden])
Date: 2007-07-06 13:17:15


Thanks for taking time to answer this.

The situation you describe is exactly what I have and what is causing the
assert.
X is implemented in its own DLL including its serialize function, which is
in the cpp file and explicitly instantized with the xml archive.

In A and B have their own DLLs and call X::serialize as part of their own
serialization.
Serializing one works, but both fails.

Are you saying this should work?

"Robert Ramey" <ramey_at_[hidden]> wrote in message
news:f6lrfd$hr0$1_at_sea.gmane.org...
> What I mean is that everything related to a implementation of a
> particular class in one DLL. That is one DLL for A, another for
> B, and another for X. This wll give
>
> a) code for a given class x will be in one and only one dll thereby
> avoiding issue related to having the same code in different modules.
>
> b) DLLS will be no larger than necessary
>
> c) runtime memory requirements will be minimized.
>
> Robert Ramey
>
>
> Anders Wang Kristensen wrote:
>> If you mean place everything related to serialization in one DLL,
>> then yes, that will obviously work.
>>
>> But in practice that's hardly a useful solution, since then any
>> library that depends on X now depends on all other libraries that
>> depend on X.
>>
>> I've looked at the register_type function (I assume it is related to
>> this), but I'm not too familiar with the inner workings of the
>> serialization lib. What is it exactly that is registered for each
>> type and why is it an error if this occurs twice?
>>
>>
>>> Place code to implement X in its own DLL.
>>>
>>> Robert Ramey


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net