You cannot mix and match these DLLs when linked together. Or any situations
where you are using MFC Extension DLLs.
It is very hard to make sure you are doing the right thing if you load
together multiple copies inside one process. It is possible however. The
best way to do that is to use an API like COM or the CLS subset of .NET or
an flat C API between the various components to insure you don't leak types
of different versions of these libraries across component boundaries.
Things that you absolutely cannot do across boundaries of parts using
different versions of the libraries:
* Pass a library type
* Free memory allocated by another component
* Pass handles that are owned by another component and do something stateful
with them (like freeing them)
* throws exceptions across the boundary
Ronald Laeremans
Visual C++ team
"Ommund" <Om**********@c2i.no> wrote in message
news:IA*******************@juliett.dax.net...
Hi
To which degree is an MFC based dll compatible between:
VC++ 2002, 2003 and 2005?
We use dlls delivered by different partners and vendors and it looks like
a
real mess to keep track of the different versions of the VC++ .NET
versions
to make our application in line with the SW provided by others.
Regards
Ommund