jianwang 发表于 2006-9-12 16:57

请问VB调用com组件时,参数不能是数组吗

M文件如下
function =excise(f,g)
a=f+g;
b=f-g;
c=f.*g;
d=shang(b,c);

function d=shang(b,c)
d=b./c;

用com builder编译成com组件后,名为test,在VB中调用,VB程序如下

Private Sub Form_Activate()
Dim a(5) As Variant
Dim b(5) As Variant
Dim c(5) As Variant
Dim d(5) As Variant
Dim thematlab As testclass
Set thematlab = New testclass
f = Array(8.2, 53, 4, 23.5, 24)
g = Array(4.3, 6.4, 55, 456.6, 9.56)
Call thematlab.excise(4, a, b, c, d, f, g)
End Sub
运行出错,提示"对象 'excise' 的方法 ‘Itestclass’ 失败",该程序在参数 f 和 g 不是数组时可以运行出结果。请问是什么原因,怎么改?
谢谢!

[ 本帖最后由 jianwang 于 2006-9-12 17:00 编辑 ]

jianwang 发表于 2006-9-13 11:53

问题出在哪呢?是数据类型不对吗,哪位回答一下,谢谢了

jianwang 发表于 2006-9-15 09:34

没有人回答,大家没有遇到过这种情况吗?这几天又试了几次,发现输入参数是数组可以传递,但输出参数如果是数组就传不回来,不知道是不是数据类型不匹配,各位论坛上的高手请帮帮忙吧!,求求大家了
页: [1]
查看完整版本: 请问VB调用com组件时,参数不能是数组吗