VB 调用dll,提示找不到dll

2024-12-04 17:23:26
推荐回答(4个)
回答(1):

并不是说把DLL复制到程序文件夹就行的。DLL是函数库文件,其中包含的函数理论上是可以供其他任何软件调用的,而不是专供某个软件使用的(当然如果不公开其调用方法,它就自然变成某个软件专用的库函数了)。因此,一般情况下是把DLL文件放到一个公共文件夹中的(比如Windows的System32文件夹),其次,需要注册才行,实际上就是把库函数的入口存放到系统注册表中,这样其他软件才能找到函数入口并进行调用。注册方法是用regsvr32.exe,比如在开始菜单的运行中输入:

regsvr32 c:\windows\system32\xxxx.dll

回答(2):

问题困扰了我2天,后来才发现问题极其简单。
根本就不是dll注册问题,如果你怎么都没法注册这个dll。极大可能这个dll不需要被注册,可以直接引用。那问啥找不到呢?
vb打开方式不对,你一定是像我一样,先点vb的可执行程序,再去选工程。
这样的话,vb的工程路径是没问题的。但包含路径是默认的vb安装路径,所以你的模组路径都不对。保存的模组也会默认保存到安装路径下。调试也没法找到dll文件,因为它他妈的在安装路径下找能找到个鬼。你把dll文件放到安装路径下,他就找到了。
当然这就很不好了,你还要在你的工程路径下放一样的dll文件。所以我找到比较好的方案就是改掉打开工程的习惯,直接到你的工程路径下双击vbp文件。这样,路径就对了。一切都正常了。

回答(3):

我也不太懂。给你个建议你试一下:

将 fwlib32.dll 文件放在Windows可以搜索到的地方。

  1. ..Windows\sys32 目录之下

  2. 你的可执行文件(*.exe)的同一目录下,一般都放在同一目录下。

还有,直接在IDE下按运行键运行,会提示找不到dll文件。

在IDE下运行前,需要编译生成exe文件。

至于函数调用出错,使用 on error 拦截一下,分析研究,找出原因解决。


不知对你有没有帮助,见笑。

回答(4):

开一个cmd shell
运行以下命令 regsvr32 xxxx.dll
注册一下你的DLL文件