现在在写一个自动化应用,之前的脚本都是javascript的,现在需要新增加一个接口,需要传递数组,以前都是用函数带参数的形式传给脚本,现在觉得应该可以直接获得数组的;VBscript不就可以通过SAFEARRAY获取吗?但问题是在javascript中如何获取啊?高人请不吝赐教。

解决方案 »

  1.   

    利用VBScript中提供的对VARIANT类型SafeArray的操作方法,遍历整个SafeArray数据内容!我们知道其实SafeArray中存储也是一些VARIANT类型数据,在遍历过程中,调用JavaScript脚本引擎封装纯脚本对象Array的IDispatch自动化对象中的push方法,个人猜测Array映射自动化com对象提供的push方法的入参应该也是VARIANT类型,这样就可以很顺利的把SafeArray里面的数据导入到JavaScript纯脚本对象Array中,而JavaScript在这个过程中就可以根据put操作转化成自己的语言类型!!
    http://blog.csdn.net/jkler_doyourself/archive/2008/08/08/2786643.aspx
      

  2.   

    我看过这个文章,不是很理解,因为它的应用也许和我不一样,我的应用中只支持一种脚本格式。
    并且我在javascript中用varName = new VBArray(safeArray)这样的形式,它根本不识别,
    不知道是不是和我COM的编译器相关,我是用CODEGEAR的BCB来编译的
      

  3.   

    可能要写一个 ocx 组件并注册API接口。
      

  4.   

    我查了很多教程,里面都没有讲VBARRAY的对象,这个对象到底可以实现吗