为什么在VB6中调用DLL文件提示无法调用
别人给了我个C++开发的动态链接库,现在让我在VB控件中调用,但是我在工程终究是引用不上来是怎么回事,提示是不能将引用加到指定文件,哪位知道怎么回事指点下,谢谢
[最优解释]
自己声明API,声明API的方法首先需要了解函数原型,然后再根据函数原型进行声明。不过如果你没接触过API函数,估计你用起来也会遇到很多问题,你应该先看看 VB 调用 API 方面的资料再弄比较好。
[其他解释]
因为这个dll是标准dll,所谓标准dll就是那些有导出函数,像调用api那样直接调用里面函数的,而不是activex com dll,只有com dll才可以引用并且像访问对象那样访问。
[其他解释]
你可以这种方式使用
Private Declare Function Send Lib "ws2_32.dll" Alias "send" (s As Long, buf As Any, buflen As Long, Flags As Long) As Long
把DLL放在EXE同目录,或者放到SYSTEm32
[其他解释]
Private Declare Function originalPress Lib "design_dll.dll" (ByVal pt1 As Double, ByVal pc1 As Double) As Long
Private Sub Command5_Click()
Dim a As Double
a = originalPress(1, 2)
MsgBox a
MsgBox b
End Sub
谢谢各位的回答
3#你的我试过,但是提示找不到Dll入口点originalPress in design_dll.dll
请问这是什么情况
[其他解释]
你的dll文件要放在与你编译好的Exe同一目录下或放到系统的 System32 目录下,还有就是要注意函数名的大小写绝对要一样,否则是不行的。
[其他解释]
public double originalPress(double pt1, double pc1, double _t_up, double _t_down,double _rg, double _welldepth, double _tubedepth, double _rti, double _rtout, double _rdi, double _qsc, double _qw, double medicamentRate, double medicamentRateMini);
这是别人给我提供的函数,我用的是64位的Win7,我是要在用户控件里引用
[其他解释]
建议你在XP下调试,调试成功了在想办法移植到Win7以上的系统,特别还是64位的更容易出错。还有就是DLL路径和文件名是否正确都会影响结果。