我用VC做了个DLL,在VB中动态调用此DLL,并使用DLL中的函数,求步骤!!(查了许多关于VB调用DLL的帖子,但是答案太多种类了,求一个正确解,谢谢)
VC做的DLL(test.dll)声明: HWND __stdcall ShowHand(HWND hWnd);
我的VB过程如下:
Declare Function ShowHand Lib "test" (ByVal hWnd As Long) As Long
--------------------------------------------------------------------
Private Sub Form_Load()
    Dim HShow As Long    If LoadLibrary("test.dll") = 0 Then
        Unload Me
    End If    HShow = ShowHand (Me.hWnd)
End Sub
问题:1.这样可以加载test.dll吗?是否需要指定路径?
     2.编译VB时出错,说函数的声明类型有误,该如何声明?

解决方案 »

  1.   

    第2问题不需要解了,是要在声明前加Private 或 Public
      

  2.   

    把    If LoadLibrary("test.dll") = 0 Then 
            Unload Me 
        End If 
    放到主模块中
    也就是SUB MAIN中试试
      

  3.   

    1、声明
    1)如果是放在一个FORM里,那么声明为:
    Private Function ShowHand Lib "test" (ByVal hWnd As Long) As Long2)如果是放在一个BAS里,那么声明为:
    Public Function ShowHand Lib "test" (ByVal hWnd As Long) As Long2、使用方法
    Private Sub Form_Load()
        Dim HShow As Long    HShow = ShowHand (Me.hWnd)
    End Sub 
      

  4.   

    对于“在VB中动态调用VC编写DLL中的函数”来说,
    楼主的“If LoadLibrary("test.dll") = 0 Then”纯粹是垃圾代码,不明所以。