我用cb写了一个dll,然后我用VB调用它,我在自己电脑上就把dll和VB工程放同一目录一切正常,然后我把exe和dll拷到别的电脑上,dll就和exe放一起的,就提示找不到这个dll,这到底是什么问题?
注册我一开始就用过了,但是提示找不到library模块的,system32目录这个我也放过的,主要是我自己电脑就可以,别的电脑就不行,我和别的电脑弄成一样的,就一个文件夹,我电脑就可以的,谢谢各位百度好友解答!
自己已解决,是dll编译的时候,在工程里Vcl不要勾再生成dll就可以了
解决这个问题,必须按照VB搜索和加载动态链接的规则放置动态链接文件。规则如下:
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:\中