为什么我用VB调用DLL,总是提示找不到呢?
我用VC++编写了一个DLL
然后把DLL放在和我的VB所制作EXE相同的文件夹,
调用DLL时代码是这么写的
- VB code
Private Declare Function chessinitial Lib "Quoridor.dll" (ByVal bolgo As Boolean) As IntegerPrivate Declare Function sendchess Lib "Quoridor.dll" (ByVal x As Long, ByVal y As Long, ByVal side As Long) As LongPrivate Declare Function sendfenceh Lib "Quoridor.dll" _ (ByVal posx As Long, ByVal posy As Long, ByVal side As Long) As LongPrivate Declare Function sendfencev Lib "Quoridor.dll" _(ByVal posx As Long, ByVal posy As Long, ByVal side As Long) As LongPrivate Declare Function AIGO Lib "Quoridor.dll" () As aichess
在本机运行毫无问题
但是打包给我朋友
他在他那台机器上运行,就提示Runtime-error:53,找不到XXXX.DLL的错误信息
我仔细检查过该DLL,并没有什么特殊的依赖项,这是怎么回事呢?
[解决办法]
你自已换台机子测试一下。
也可以先编译成exe文件,再给你的朋友测试一下。
[解决办法]
用depends看下是不是打包的时候有丢失了
或者把缺失的dll找到发给你朋友放到system32下面再注册下试试
[解决办法]
现在有很多人装的操作系统是Ghost精简版的,为了节省空间会把一些部件给去掉,你先搜索一下丢失的dll是否存在,存在就注册一下,不存在你就要考虑打包时带上
[解决办法]