Well, the dynamic library loading structure I described below is now compiling and linking ok, and it’s a lot neater. However I’ve hit a MAJOR snag. The Standard Template Library implementation in VC6 appears to hate operating over DLL boundaries. It seems whenever a STL class tries to operate between 2 different DLLs, I get runtime errors. I’ve been able to prove this my temporarily moving an std::map member variable down to a subclass (so it is local to the dll it is being used in) which eliminated runtime errors in this area.
This is a major blow. Since I make significant use of the STL (what self-respecting C++ programmer doesn’t?) this will completely scupper my dynamic library loading intentions unless I resolve it somehow. Any ideas welcome!!