vbscript 调用其他控件 返回值为数组时 出现 类型不匹配错误
用vbscript调用一个其他语言写的控件,该控件在vb6中可以正常使用,如下是vb6中的代码
vRet = frmMain.FK524ID1.GetEnrollData(mMachineNumber, _
vEnrollNumber, _
vFingerNumber, _
vPrivilege, _
glngEnrollData, _
glngEnrollPData)
其中mMachineNumber,
vEnrollNumber,
vFingerNumber,
vPrivilege,glngEnrollPData均为参数代进去的,只有glngEnrollData是个数组返回的,在vb6中可以正常使用,
同时在vb6中定义的也确实是数组
现在是这样子的,想把该控件使用在web页面中,我先再用vb6封装了一下,
Public Function GetEnrollData(FK524ID As Variant, mMachineNumber As Long, vEnrollNumber As Long, vFingerNumber As Long, vPrivilege As Long, ByRef glngEnrollData As Variant, glngEnrollPData As Variant) As Long
Dim gTemplngEnrollData As Variant
vRet = FK524ID.GetEnrollData(mMachineNumber, _
vEnrollNumber, _
vFingerNumber, _
vPrivilege, _
gTemplngEnrollData, _
glngEnrollPData)
glngEnrollData = gTemplngEnrollData
End Function
然后在网页中这样调用
<script type="text/vbscript" language="vbscript">
sub GetSerialNumber1()
Dim obj, vret, mMachineNumber
Dim glngEnrollData1
mMachineNumber = 1
Set obj = document.getElementById("FK524ID1")
If Not IsObject(obj) Then Exit Sub
If Not obj.OpenCommPort(3) Then Exit Sub
obj.CommPort = 1
If Not obj.EnableDevice(mMachineNumber, False) Then
MsgBox "Err"
Exit Sub
End If
Set proxy = CreateObject("prj_fk524.fk524") ' CreateObject("工程1.Class1")
vret = proxy.GetEnrollData(obj, 1, 8, 0, 0,glngEnrollData1,0)
If vret<> 0 Then
msgbox "ok"
Else
msgbox "Can Not Get Enroll Data !"
End If
end sub
</script>
然后就出现了类型不匹配的问题,不知道是那个环节有问题,请兄弟们帮我看看吧