当前位置:编程学习 > VB >>

vbscript调用COM函数的返回值,无法访问数组内容,头疼阿,各位大侠请出手

C#实现的COM如下
using System.Runtime.InteropServices;
namespace TestCom
{
    [Guid("1B916CF7-9150-476d-AAC9-DBD365CE58BC")]
    public interface 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 ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,