调用vc写的dll的某个方法时出错,错误描述是:“Bad DLL calling convention”
vc中方法名为:
void TV_OffHookCtrl (int iChannel,BOOL bStateSign=TRUE);
vb中声明为:
Private Declare Sub OffHookCtrl Lib "usbid.dll" Alias "TV_OffHookCtrl" (iChannel As Long)’
调用:
OffHookCtrl 1各位高手,帮我看看问题出在哪里

解决方案 »

  1.   

    把声明改一下:
    Private Declare Sub OffHookCtrl Lib "usbid.dll" Alias "TV_OffHookCtrl" (iChannel As Long,byval bStateSign as boolean)
    调用改为:
    offhookctrl 1,true
      

  2.   

    Private Declare Sub OffHookCtrl Lib "usbid.dll" Alias "TV_OffHookCtrl" (iChannel As Long, Optional Byval bStateSign As Long = -1)
      

  3.   

    还有这个调用也不知怎么弄。主要是想知道数据类型都怎么对应
    int TV_StartDial (int iChannel, char far *Code,BOOL bStateSign=TRUE);Private Declare Function StartDial Lib "usbid.dll" Alias "TV_StartDial" (iChannel As Long, ByRef code As String) As IntegerStartDial 1, txtPhone.Text谢谢您的回复
      

  4.   

    Private Declare Function StartDial Lib "usbid.dll" Alias "TV_StartDial" (ByVal iChannel As Long, ByRef code As String, Optional ByVal bStateSign As Long = -1) As long