Click to See Complete Forum and Search --> : Templated Class & DLL


April 27th, 1999, 06:30 AM
I have several DLLs exporting classes and functions to each other. For example, DLL_A has a class whose base class is in DLL_B, and DLL_B uses some classes in DLL_A. I also have templated classes with classes in DLL_A and DLL_B as parameters, the templated classes are used in DLL_A and DLL_B and perhaps some other DLLs.

The problem is, when I link all the code to an executable, it will hang at run-time (never comeback). There is neither compile-time nor run-time error/warning. The location (where the problem occurs) is inside the templated class where it tries to call a method of the template parameter, a class in DLL_A, but the method itself is inherited from its base class in DLL_B.

There is nothing tricky about the method itself. In fact, the same code works fine if they are all placed in static libraries instead of DLLs. I am wondering if this is a known problem of VC++.

By the way, I am using VC++ 5.0 on Windows NT 4.0. All the code are compiled with DEBUG settings.