Click to See Complete Forum and Search --> : Why the DLL I made in VC5 Can't Be used in VB5
btli
April 6th, 1999, 08:55 PM
I have made a dll through VC, and call it in VB5, all passed if I don't transfer
parameter from VB to that dll's function. But if I do it , Error happens.
Thanks for the answer.
(the dll I made through vc5's wizard (MFC suport))
Lothar Haensler
April 7th, 1999, 04:00 AM
check out forum entry "Strange behaviour of DLL Calls in VB5". It might solve your problem, too.
Dan O'Brien
April 9th, 1999, 08:40 AM
The MFC function was probably a member of a class, and C++ decorates function names when it compiles them so that the signature for FooClass::Foo() might really be ?Foo@FooClass@@AAEHXZ
Check out http://msdn.microsoft.com/library/devprods/vs6/vc++/vccore/_core_calling_dll_functions_from_visual_basic_applications.htm.
Dan O'Brien
April 9th, 1999, 10:17 AM
Better yet, turn your MFC DLL into an MFC ActiveX control and access it through its automation interface. Use COM if possible when interfacing modules written in different languages.
September 8th, 1999, 08:37 AM
If you right click on the dll file in explorer, and select quick view, it will give you a list of all function names, then you can see if it really is ?foo@foo.blahh**$%blah""£$Blah.
Hal Hayes
September 8th, 1999, 04:25 PM
I believe you can use a .def file in development of your C++ dll to overcome the name mangling problem in VC++ 5.0.
codeguru.com
Copyright Internet.com Inc., All Rights Reserved.