VB6 - 无法找到DLL

Bep*_*ppe 5 windows vb6 dll

我正在尝试使用该命令在VB6中加载DLL

Private Declare Function 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放在项目的同一个文件夹中.

有没有办法解决这个问题?

谢谢

Mar*_*rkJ 8

我的通灵能力预测你是从VB6 IDE运行的 - 因为一个内置的EXE 在app目录中找到DLL(与exe相同的目录).

  • 当您从VB6 IDE中运行,它发现从app目录的DLL ...但它认为app目录将包含VB6 IDE本身的目录:(
  • 一种解决方法是在尝试使用DLL之前将当前工作目录更改为VBP目录.例如Chdrive App.Path: Chdir App.Path(航空代码)
  • 编辑关于 Beppe的评论.您可以尝试的另一种解决方法是,在您的开发计算机上,将DLL的副本放在安装VB6 IDE的同一目录中.可能C:\Program Files\Microsoft Visual Studio\VB98\您可以将带有内置EXE的DLL放在用户计算机/生产计算机上.


小智 -1

你需要先注册你的DLL..

外壳“regsvr32.exe /s”和路径

其中“path”是DLL的路径。如果DLL放在同一目录下,那么可以设置:

路径 = App.path & "/myDLL.dll"

  • 考虑到它与声明语句一起工作(如果他在系统目录中有它),我怀疑这是一个 COM dll。 (2认同)