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))
Printable View
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))
check out forum entry "Strange behaviour of DLL Calls in VB5". It might solve your problem, too.
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/de...lications.htm.
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.
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 [email protected]**$%blah""£$Blah.
I believe you can use a .def file in development of your C++ dll to overcome the name mangling problem in VC++ 5.0.