我在vb6中编了个dll,内容如下:
Public Function add(left As Double, right As Double) As Double
add = left + right
End FunctionPublic Function subtract(left As Double, right As Double) As Double
subtract = left - right
End Function
很简单,实现加减。
然后创建vb的工程,引用
Declare Function add Lib "h:\Dll_test.dll" (ByVal left As Double, ByVal right As Double) As Double
 Declare Function subtract Lib "h:\Dll_test.dll" (ByVal left As Double, ByVal right As Double) As Double调用如下:
label1.caption=add(cdbl(text1.text),cdbl(text2.text))
编译不通过,说:错误的参数号或无效的属性。很迷茫!!!!程序其实很简单,只是在使用dll的调用而已。望大家指点迷津!!!

解决方案 »

  1.   

    VB创建的DLL是ActiveX Dll ,与C创建的DLL有些不同,我使用的方法如下.
    创建Dll ,其类模块为"Test".写上两个函数后编译成"Dll_Test.dll"
    然后创建VB的工程,在菜单中的"引用"->"浏览"选择"Dll_Test.dll",然后 :
    private MyDll as new Test'调用
    Private Sub Command1_Click()
        Label1.Caption = dd.add(CDbl(Text1.Text), CDbl(Text2.Text))
    End Sub
    --以上方法已经测试通过.
      

  2.   

    同意黑猫的说法,VB中引用DLL需要“引用”,可以在DLL的工程中添加一个测试工程,在一个窗体中跟踪一下。
      

  3.   

    在dll中参数不会自动转换,text1.text是文本类型,当然不对咯