【发布时间】:2012-12-17 18:50:21
【问题描述】:
In my previous question,我问为什么我在尝试从 DLL 调用函数时不断收到错误消息 bad DLL calling convention。普遍的共识是我需要将调用约定更改为cdecl。有道理。
不幸的是,我不能将它放在函数声明导入中。我不得不“创建一个包装 DLL”或“为 DLL 创建一个类型库”。
我对 VB 非常陌生,因为我工作的主要重点是 C#,这是很长时间以来第一次使用该语言。我不确定如何完成这项任务。
我也对包装 DLL 如何提供帮助感到困惑。假设我不能在我的代码中使用cdecl 修饰函数导入,但是如果我将该确切的函数导入移动到新的 VB6 DLL 然后引用该 DLL,它会突然起作用吗?
【问题讨论】:
-
鲍勃回答中真正重要的一点是,它“突然”起作用了,因为您将包装器编译为本机代码。然后你从你的主程序中引用那个包装器DLL,就可以正常开发和调试了。
-
你肯定不能使用类型库来解决你的 cdecl 问题。