OCX控件有一个ReadCard(LONG track, CHAR* tr2_data, CHAR* tr3_data, int iTr2Len, int iTr3Len )函数,其中tr2_data, tr3_data是输出类型,请问我在javascript如何传递参数得到这两个数的值?

解决方案 »

  1.   

    看看类似 var a = "                     ";这样看看
      

  2.   

    a得先申请足够的空间,var a = "                                   "
      

  3.   

    javascript不支持输出类型
    返回一个对象吧
      

  4.   

    var ret=ocx.ReadCard(ReadCardParameters)
    写的时候,创建一个实现了IDispatch的自动化对象,这个对象的GetIdsOfNames和Invoke需要支持名字为tr2_data和tr3_data的属性。
      

  5.   

    OCX中返回字符串,一般用BSTR。而且js中好像没有传引用这种说法(不是很确定)!用数组返回一般是可以解决的,但是不熟悉。还有一种办法,就算是自定义了:将tr2_data,tr3_data合并,作为一个字符串(BSTR)返回出来,可以在这两个值中间加上分隔标记,在js得到这个返回值后,再分隔下,分别给tr2_data和tr3_data。
      

  6.   


    正解,我一般是返回XML的,自己定好结构。