如何在js中定义vb控件使用的数组?

liujiin 2007-01-30 09:25:20
我有一个vb的dll,在jsp中要调用它的一个函数。函数声明格式为:
Public Function zipFile(strSourceFile() As String, strDestinationFile As String, strPassWord As String) As Boolean
有三个参数,第一个是数组,第二和第三个参数是字符串
我在jsp中这样定义
function zipFile() {
var ar1 = new Array(1);
ar1[0] = "E:\\00000006\\00000001.tif";
try{
//MyOcx是Vb写的控件,已经被实例化
MyOcx.zipFile(["fds","asdf"],"0001.zip","123");
} catch(e) {
alert(e.message);
}
}
但是调用的时候会抛出异常——类型不匹配。好像是js中的数组和Vb中的存储方式不一样,但是我不知道如何做?请大侠帮忙
...全文
309 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
btbtd 2007-09-24
  • 打赏
  • 举报
回复
IE 中的 js 用 VBArray.
iamXiaMi 2007-09-24
  • 打赏
  • 举报
回复
用JS调用DLL?
saiyijing 2007-09-24
  • 打赏
  • 举报
回复
你好,我想问一下,你的问题解决了没有,我现在遇到了和你类似的问题,请求你的帮助.我的问题是,VB控件有一个这样的方法
Graph(ByVal TP As Byte, ByVal X!, ByVal Y!, ByVal N As Byte, A() As Single, ByVal Bl as Single=1,Optional ByVal Size As Integer = 100)
现在我在Javascript中调用,
var arrayf =new Array();
for(var i=0;i<10;i++)
{
arrayf[i]=i+5.26;
}
Map1.Graph(2,826.44,822.18,10,arrayf,1,100);
运行是提示类型不匹配,
期待你的回复,我邮箱是lujingljx@126.com,谢谢!
liujiin 2007-01-30
  • 打赏
  • 举报
回复
我试过了,还是不行,提示类型不匹配,是不是不能用js传递控件的数组参数啊?
修改代码如下:
<head>
<title></title>
<SCRIPT LANGUAGE="VBScript">
<!--
Function CreateVBArray()
dim file(1)
file(0) = "E:\00000006\00000001.tif"
file(1) = "E:\00000006\00000002.tif"
CreateVBArray = file
End Function
-->
</SCRIPT>
<SCRIPT LANGUAGE="JScript">
<!--
function VBArrayTest(vbarray){
var a = new VBArray(vbarray);
var b = a.toArray();
return b
}
-->
</SCRIPT>
</head>

<body>
function packFile()
{
try {
var filearray = VBArrayTest(CreateVBArray());
ehView1.zipFile(filearray,"132.zip","123");
}
catch (e) {
alert(e.message);
}
}
</body>
ttyp 2007-01-30
  • 打赏
  • 举报
回复
不懂就去学,去问,去GOOGLE
liujiin 2007-01-30
  • 打赏
  • 举报
回复
不懂vbs,能够把代码给写出来吗?谢谢了。
ttyp 2007-01-30
  • 打赏
  • 举报
回复
<HEAD>
<SCRIPT LANGUAGE="VBScript">
<!--
Function CreateVBArray()
Dim i, j, k
Dim a(2, 2)
k = 1
For i = 0 To 2
For j = 0 To 2
a(j, i) = k
document.writeln(k)
k = k + 1
Next
document.writeln("vbCRLF")
Next
CreateVBArray = a
End Function
-->
</SCRIPT>

<SCRIPT LANGUAGE="JScript">
<!--
function VBArrayTest(vbarray){
var a = new VBArray(vbarray);
var b = a.toArray();
var i;
for (i = 0; i < 9; i++)
{
document.writeln(b[i]);
}
}
-->
</SCRIPT>
</HEAD>

<BODY>
<SCRIPT LANGUAGE="JScript">
<!--
VBArrayTest(CreateVBArray());
-->
</SCRIPT>
</BODY>


直接使用VBS写数组

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧