关于javascript数组与VB DLL中中数组的传递问题
来源:互联网 发布:矩阵的分解算法 编辑:程序博客网 时间:2024/06/05 18:04
DLL对象:
TestPrj.Test
PublicSubTest(strName()AsVariant)
strName(0)="MR"
strName(1)="zhang"
EndSub
JavaScript:
<Scriptlanguage='JavaScript'>
varA=newArray();
varTest=newActiveObjectX("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
PublicFunctionTestArray(ByRefvArrayAsVariant)AsString
DimnCntAsInteger
'Checkthattheargumentpassedisanarray
IfNotIsArray(vArray)Then
TestArray="ParameterisnotanArray"
ExitFunction
EndIf
FornCnt=LBound(vArray)ToUBound(vArray)
'changeArrayElement
vArray(nCnt)="aqqq"
NextnCnt
TestArray="ParameterisanArray"
EndFunction
在ASP中引用ASPArray.clsArray对象,
<%
DimoTestObj,vMyArray(2),vRtnValue
vMyArray(0)="Element1"
vMyArray(1)="Element2"
vMyArray(2)="Element3"
SetoTestObj=Server.CreateObject("ASPArray.clsArray")
vRtnValue=oTestObj.TestArray(vMyArray)
Response.Write(vRtnValue)
%>
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
- 关于javascript数组与VB DLL中中数组的传递问题
- 在VB中调用C/C++语言编写的dll,数组参数的传递
- 在VB中调用C/C++语言编写的dll,数组参数的传递
- 在VB中调用C/C++语言编写的dll,数组参数的传递
- VB VC 混合编程(dll)中 数组 的传入传出
- VB VC 混合编程(dll)中 数组 的传入传出
- VB调用C# DLL 传递数组参数问题
- 请赐教:用C++做一个DLL在VB中调用,要传递的是一个数组
- 关于javascript中数组元素删除问题的讨论
- 关于javascript中数组元素删除问题的讨论
- 关于javascript中数组元素删除问题的讨论
- 关于JavaScript中数组的清除
- 传递VB数组给DLL中的函数
- JSP 向 JavaScript 中传递数组
- JavaScript 与java中数组的区别
- C++中关于二维数组作为函数参数传递的问题
- 关于使用mxGetPr从MATLAB向C中传递数组的相关问题
- C++中关于二维数组作为函数参数传递的问题
- C#.NET图像处理
- 2008年10月23日(星期四)作业
- 用opencms java API获取资源信息
- InstallShield制作JSP+TOMCAT+JDK+MYSQL(第七篇)
- Cairngorm示例--业务逻辑如何管理视图(I)
- 关于javascript数组与VB DLL中中数组的传递问题
- javascript面向对象编程(一)
- 防止对话框因ESC和ENTER键输入关闭的两种途径
- insert 字段带单引号时..
- 入门到底是该学JAVA还是学C# ?
- 游戏程序设计--真实案例分析(一)
- 拥抱Linux
- 工作计划
- javascript面向对象编程(二)