1)如果在VB中声明Dll函数时,Lib所指动态链接库文件不带路径而只有文件名,如以下语句所示:
Public Declare Function MyFunc Lib "Mydll.dll" (ByVal x As Long) As Long
则动态链接库文件 Mydll.dll 必须放置在:
VB程序运行的当前文件夹中
或者,放置在%WinDir\System32%文件夹中(通常为 C:\Windows\System32)
2)如果在VB中声明Dll函数时,Lib所指动态链接库文件带路径名,如以下语句所示
Public Declare Function MyFunc Lib "C:\Mydll.dll" (ByVal x As Long) As Long
则动态链接库文件 Mydll.dll 必须放置在所指定的文件中,即 C:\中
并不是说把DLL复制到程序文件夹就行的。DLL是函数库文件,其中包含的函数理论上是可以供其他任何软件调用的,而不是专供某个软件使用的(当然如果不公开其调用方法,它就自然变成某个软件专用的库函数了)。因此,一般情况下是把DLL文件放到一个公共文件夹中的(比如Windows的System32文件夹),其次,需要注册才行,实际上就是把库函数的入口存放到系统注册表中,这样其他软件才能找到函数入口并进行调用。注册方法是用regsvr32.exe,比如在开始菜单的运行中输入:regsvr32 c:\windows\system32\xxxx.dll
我也不太懂。给你个建议你试一下:
将 fwlib32.dll 文件放在Windows可以搜索到的地方。
..Windows\sys32 目录之下
你的可执行文件(*.exe)的同一目录下,一般都放在同一目录下。
还有,直接在IDE下按运行键运行,会提示找不到dll文件。
在IDE下运行前,需要编译生成exe文件。
至于函数调用出错,使用 on error 拦截一下,分析研究,找出原因解决。
不知对你有没有帮助,见笑。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)