【发布时间】:2024-01-07 09:25:01
【问题描述】:
我一直在尝试使用 C/C++ 创建一个可以通过 VB6 访问的 DLL,这是正确的,在从 VB6 调用该函数时,我收到错误“453 Can't find DLL entry point myFunctionName in myDllName.dll”应用程序。 在搜索了包括这个网站在内的网络后,我发现我并不孤单,我已经尝试了发布的各种解决方案,但错误“453”是无法解决的。 这不是 COMM dll,我相信通过 C/C++ 创建是可能的。 无论如何,如果可以,请提供帮助。请参考下面的简单测试用例:
作为 C/C++ 6.00 Win32 动态链接库创建的 DLL:
#include <Windows.h>
// Note that I did try the line below rather than the def file, but to no avail...
// #pragma comment(linker, "/EXPORT:ibask32=_ibask32@0")
// Function definition
extern "C" int __declspec(dllexport) __stdcall ibask32()
{
MessageBox(NULL,"String","Sample Code", NULL);
return 0L;
}
def 文件:
LIBRARY "Gpib-32"
EXPORTS
ibask32
现在是 VB 应用程序:
以下是启动Form1,Form_Load的全部内容
Option Explicit
Private Sub Form_Load()
Call ibask
End Sub
以下是添加到项目中的BAS模块文件:
Option Explicit
Declare Function ibask32 Lib "Gpib-32.dll" Alias "ibask" () As Long
Sub ibask()
Call ibask32 ' Note: This is the point of failure
End Sub
如果可以提供可行的解决方案,请提前致谢, 汤姆
【问题讨论】: