function SetDoorPassCardDE(hPort: THandle; Style: Byte; Card: PChar; Code: PChar; 
     Right: Integer=0; BeginPass: PChar=nil; EndPass: PChar=nil; EmpId: PChar=nil): Boolean;我写的这样的居然不行
Declare Function SetDoorPassCardDE Lib "abc.dll" (ByVal hPort As Long, ByVal Style As Byte, ByVal card As String, ByVal code As String, Optional ByVal Right As Long = 0, Optional ByVal BeginPass As String = vbNullString, Optional ByVal EndPass As String = vbNullString, Optional ByVal EmpId As String = vbNullString) As Boolean
为什么?

解决方案 »

  1.   

    Declare Function SetDoorPassCardDE Lib "abc.dll" (ByVal hPort As Long, ByVal Style As Byte, ByVal card As String, ByVal code As String, Optional ByVal Right As Long, ByVal BeginPass As String,  ByVal EndPass As String,ByVal EmpId As String) As Boolean另外,ByVal Style As Byte,这里如果需要传入一个数组的话,应该定义为Byref Style As Byte
      

  2.   

    原来上面的可用的,我参数输错了,5星级的给的声明缺几个optional啊,这50分不能让你都赚了