javascript 没有 ByRef  是个问题

解决方案 »

  1.   

    JS 没办法构造出 Visual Basic 数组
    VBS 可以构造出 Variant 类型的数组
    如果你的 OCX 可以修改并且可以利用 VBScript, 将 VB 里函数定义为Public Function myfunction(ByRef mystring() As Variant) As Variant
    Dim i As Integer
    For i = 0 To UBound(mystring)
    ......
    Next i
    myfunction = .....
    End Function
       <script language="VBScript">
    Function ToVBArray(ByRef JArray)
    Dim arr(), i, ubd
    ubd = JArray.length-1
    ReDim arr(ubd)
    For i=0 To ubd
    arr(i) = GetJSArrayElement(JArray, i)
    Next
    ToVBArray = arr
    End Function
      </script>
      <script language="JScript">
    function GetJSArrayElement(JArray, i) { return JArray[i]; }
    var jay = ["a", "b", "SAFSDF"];
    var ocx = new ActiveXObject("XXX.XXXX");
    ocx.myfunction(ToVBArray(jay));
      </script>