From: Baptiste L. <gai...@fr...> - 2003-02-18 09:01:59
|
This should work correctly if all applications are using the same run-time library (in C++/Code Generation) dll. If that was not the case, neither the vc6 plug-in nor cppunit would work and creating MFC extension DLL would be impossible. Using pointer across DLL is fine as long as they have the same memory model. For example, even if no pointer was passed, a exception can not cross DLL boundary if the application is 'release' and the dll 'debug' because they do not have the same stack structure. Linking the libraries directly directly in the plug-in code would work, and it might be easier for deployment (just one dll to copy). On the other hand, dll are faster to test (no extra link step). Baptiste. ----- Original Message ----- From: "Andre Baresel" <and...@gm...> To: "CppTool Mailing List" <Cpp...@li...> Sent: Saturday, February 15, 2003 1:49 PM Subject: [Cpptool-develop] Encountered a problem with Windows-DLL concept of the parser. > I'm currently debugging the eclipse plugin and found out a problem with > the DLL usage of the parser. I'm instanciating the > 'RenameLocalVariableClass' > and calling 'getOldVariableName'. This passes a String from the DLL to > the PluginDLL. > Both DLLs are using different Heaps ofcourse, and for this reason the > destructor > of the passed string does not point to the Local-Heap of the PluginDLL > and the > DebugAssertions do report an error. The Plugin runs fine, but the > passing of a pointer > across DLL borders is not correct, isn't it ? Does the same thing happen > to VC6addin ? > > I'm currently thinking about linking the RFTA & RFTA_PARSER Library > directly to > the PluginCode. > > Any suggestions will help... > > -- Andre |