我正在尝试使用命令在 VB6 中加载 DLL
私有(private)声明函数 myFuncLib "myDLL.dll"(ByVal file_name_in As String, _
ByVal file_name_out As String) As Long
但是一旦我运行该程序,它就会弹出一个带有文本的框:“运行时错误:53 找不到:myDLL.dll”
DLL放在项目的同一目录下。
如果我将 myDLL.dll 放在 system32 文件夹中它可以工作,但我不想这样做,我想将 dll 放在项目的同一文件夹中。
有没有办法解决这个问题?
谢谢
最佳答案
我的灵力预测您正在从 VB6 IDE 运行 - 因为构建的 EXE 会在应用程序目录(与 exe 相同的目录)中找到 DLL。
- 当您从 VB6 IDE 运行时,它会从应用程序目录中找到 DLL...但它认为应用程序目录是包含 VB6 IDE 本身的目录:(
- 一种解决方法是在尝试使用 DLL 之前将当前工作目录更改为 VBP 目录。例如。
Chdrive App.Path: Chdir App.Path
(空码) - 编辑 根据 Beppe 的评论。您可以尝试的另一种解决方法是,就在您的开发机器上,将 DLL 的副本放在安装 VB6 IDE 的同一目录中。可能是
C:\Program Files\Microsoft Visual Studio\VB98\
您可以将带有内置 EXE 的 DLL 放在用户机器/生产机器上。
关于windows - VB6 - 找不到 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5234386/