javascript数组与VB DLL中中数组的传递问题

各位:我现在在JavaScript中定义一个一维数组,然后调用VB编写的DLL对象,在DLL对象给此数组赋值,然后在JavaScript读出已经赋值的数组。请问如何操作。

DLL对象:

TestPrj.Test

Public   Sub   Test(strName()   As   Variant)    strName(0)   =   "MR "    strName(1)   =   "zhang "End   Sub

JavaScript:

<Script   language= 'JavaScript '>    var   A=new   Array();    var   Test=new   ActiveObjectX( "TestPrj.Test ");    Test.Test(A);    Response.Write(A.length);</Script>

请问出错在哪里????

---------------------------------------------------------------

感谢您使用微软产品。

您可以在VB中建立AciveXdll,处理含数组参数的函数,在ASP中调用AciveX对象的函数。由于Javascript的array对象与VB中的array以不同的方式存储,因此Javascript的array对象作为VBActiveXdll函数的参数将出现类型不匹配的错误。建议您在ASP中用VBscript。

如下例,先在VB中建立AciveXdll工程,项目名为ASPArray,类名clsArray

Public   Function   TestArray(ByRef   vArray   As   Variant)   As   String          Dim   nCnt   As   Integer          'Check   that   the   argument   passed   is   an   array          If   Not   IsArray(vArray)   Then              TestArray   =   "Parameter   is   not   an   Array "              Exit   Function          End   If          For   nCnt   =   LBound(vArray)   To   UBound(vArray)                  'change   Array   Element                  vArray(nCnt)   =   "aqqq "          Next   nCnt          TestArray   =   "Parameter   is   an   Array "End   Function

在ASP中引用ASPArray.clsArray对象,

<%      Dim   oTestObj,   vMyArray(2),   vRtnValue          vMyArray(0)   =   "Element   1 "          vMyArray(1)   =   "Element   2 "          vMyArray(2)   =   "Element   3 "          Set   oTestObj   =   Server.CreateObject( "ASPArray.clsArray ")          vRtnValue   =   oTestObj.TestArray(vMyArray)          Response.Write(   vRtnValue   )      %>     <br>      vMyArray(1)= <%=vMyArray(1)%>

详细信息请参考以下链接:

HOWTO:ImplementArrayArgumentsinVBCOMObjectsforASP

http://support.microsoft.com/support/kb/articles/q217/1/14.asp

您可以使用JavaScript中vbArray对象的toArray()方法把VBScript的数组(Array)转化为Javascript数组,但是截至到目前VBScript(4.0)版,还没有把JavaScript数组转化为VBscript数组的方法。

详细信息请参考以下文档中PassingArraysfromVBScripttoJscript部分:

UsingVBScriptandJScriptonaWebPage

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvid/html/msdn_vbnjscrpt.asp

-微软全球技术中心VB技术支持

本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款

(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。

为了为您创建更好的讨论环境,请参加我们的用户满意度调查

(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索javascript
, 数组
, 对象
, 数组问题
, test
, vb.dll发布不能验证
, microsoft
, 数组vb
, Array对象方法参考
, varray
javascript对象数组
javascript 传递数组、dll 传递数组、vb 传递数组、vb 如何传递数组参数、vb 数组函数参数传递,以便于您获取更多的相关知识。

时间: 2024-12-27 23:30:58

javascript数组与VB DLL中中数组的传递问题的相关文章

在javascript中以数组链表法实现下拉树

在网页开发中,大部分的下拉菜单都是一行一项并且上下对齐,这样虽然很好但是缺乏层次结构感,客户不知道各个选项之间的关系,因此有的时候我们需要在下拉菜单中以树形结构展示下拉项,给客户更好的体验.比如:假设数据库中有张表存放了中国省市信息,如下所示: 这张表是符合树形结构特征的,它的树形结构如右图所示,相信很多表都有这样的特征,这种结构的表以下拉树展示最好不过了,用户可以直接看出选项之间的关系. javascript实现树形结构应该有很多种方法,我也不知道那些方法都是如何实现的,也不想从网上下载现成的

私人定制javascript中的数组知识点

先上笑话,1.刚看到一个游泳的,想起公司组织去三亚旅游,老板跳海里,各种挣扎,捞上来老板第一句话:我记得我会游泳的啊. 2.媳妇说:老公对不起,我把你新买的自行车撞散架了! 老公:没事宝贝,你若安好,便是晴天! 媳妇说:老公你太有诗意了. 老公:滚犊子,安不好我整死你! 数组的概念 javascript数组是值得有序集合,不过它实属一个javascript对象的特殊形式,这是一个很重点的定性. 创建数组 1.var a=new Array();//等同于[] 2.var a=new Array(

javascript中Array数组的迭代方法实例分析

这篇文章主要介绍了javascript中Array数组的迭代方法,实例分析了Array数组的迭代方法定义与使用技巧,需要的朋友可以参考下 本文实例讲述了javascript迭代的方法.分享给大家供大家参考.具体实现方法如下: 代码如下: //filter() 利用指定的函数确定是否返回数组中包涵的某一项 var num = [1,2,3,4,5,6,12]; num.filter(function(item, index, array){ return (item > 2); //[3, 4,

JavaScript jQuery 中定义数组与操作及jquery数组操作_jquery

首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象 Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维数组的功能 1.1 定义数组 声明有10个元素的数组 复制代码 代码如下: var a = new Array(10); 此时为a已经开辟了内存空间,包含10个元素,用数组名称加 [下标] 来调用,例如

javascript中的数组,对象的使用

问题描述 javascript中的数组,对象的使用 定义一个数组,如何编写代码便利里面的数据,结合dom对象里面的事件使网页导航栏有下级栏目 解决方案 JavaScript对象和数组JavaScript对象和数组JavaScript - Array对象的使用 及 数组排序 sort 解决方案二: js的数组使用教程:http://www.w3school.com.cn/js/js_obj_array.asp js的对象使用教程:http://www.w3school.com.cn/js/js_o

javascript中去除数组重复元素的实现方法【实例】_javascript技巧

在实际应用中,我们很多时候都可能需要去除数组中的重复元素,下面就是javascript数组去重的方法实现: <script language="javascript"> <!-- /*判断数组中是否存在某个元素的方法*/ function isExistInArr(_array, _element){ if(!_array || !_element) return false; if(!_array.length){ return (_array == _elemen

JavaScript中去掉数组中的重复值的实现方法_javascript技巧

复制代码 代码如下: 题目:要求写一个函数,去掉给定数组中的重复值. 如: 传入数组 a = [0, 8, 5, 4, 78, 8, 90, 4, 'a', 'b', 'a']; 要求返回:[0,4,5,8,78,90,a,b] 对于这个题目,在面试之后也想了好多次,不过一直没能想出一个时间复杂度较低的方法.昨天下午在宿舍看<JavaScript语言精粹>看到一个书中的一段代码有所触发,于是在jsfiddle上测试了,成功.代码如下(完整版参见jsfiddle) 复制代码 代码如下: var

JavaScript中清空数组的方法总结_javascript技巧

 方式1,splice var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 [],空数组,即被清空了 方式2,length赋值为0 这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值.如 int[] ary = {1,2,3,4}; ary.length = 0; Java中会报错,编译通不过.而JS中则可以,且将数组清空了, var ary = [1,2,3,4]; ary.l

javascript中Array()数组函数详解_javascript技巧

在程序语言中数组的重要性不言而喻,JavaScript中数组也是最常使用的对象之一,数组是值的有序集合,由于弱类型的原因,JavaScript中数组十分灵活.强大,不像是Java等强类型高级语言数组只能存放同一类型或其子类型元素,JavaScript在同一个数组中可以存放多种类型的元素,而且是长度也是可以动态调整的,可以随着数据增加或减少自动对数组长度做更改. Array()是一个用来构建数组的内建构造器函数.数组主要由如下三种创建方式: array = new Array() array =