vbscript调用COM函数的返回值,无法访问数组内容,头疼阿,各位大侠请出手
C#实现的COM如下using System.Runtime.InteropServices;
namespace TestCom
{
[Guid("1B916CF7-9150-476d-AAC9-DBD365CE58BC")]
public inte易做图ce ITestClass
{
[DispId(4)]
string[] GetArray();
}
public class TestClass: ITestClass
{
public string[] GetArray()
{
return new string[] { "aa", "bb" };
}
}
}
VBS代码,最后一行出错,但在脚本调试器中监视arr变量内容正确。同样是下面的代码在VB6.0中运行正确,显示aa
Dim objCom
Dim arr
set objCom = CreateObject("TestCom.TestClass")
arr = objCom.GetArray()
msgbox TypeName(arr) '显示String()
msgbox Lbound(arr) '显示0
msgbox Ubound(arr) '显示1
msgbox arr(0) '类型不匹配
--------------------编程问答-------------------- 换成OBJECT试试,不用STR --------------------编程问答-------------------- 换什么都不行,错误是要出在下标访问上 --------------------编程问答-------------------- --------------------编程问答-------------------- 你好,我和你碰到同样的问题,请问你现在解决了吗?
补充:VB , 基础类