主页 > 知识库 > 使用SAFEARRAY返回的代码

使用SAFEARRAY返回的代码

热门标签:外呼系统telrobot 拉萨外呼系统业务 深圳外呼系统收费 广州ai电销机器人一般多少钱 怎么看地图标注 百度地图标注是什么意思 外呼线路中继线是什么 外呼系统免费招代理 合肥高德地图标注
前天碰到有人问SAFEARRAY的问题,我正好对VB SCRIPT里面如何得到COM组件返回的数组感兴趣,就试验了一下。

IDE用的是VC7.1

开始都差不多,建立工程,建立COM对象,建立方法:

接口定义:

[id(2), helpstring("method GetArray")] HRESULT GetArray1([out,retval] VARIANT* v);

方法实现:
STDMETHODIMP CATL3::GetArray1(VARIANT * pvaVariant)
{
    std::vector float> vct;
    vct.push_back(   11.4 );
    vct.push_back(   12.4 );
    vct.push_back(   14.4 );
    CComSafeArrayVARIANT> saMatrix;
    for ( int i = 0 ; i  vct.size(); ++i )
    {
        saMatrix.Add( CComVariant(vct[i]));
    }
    VariantInit(pvaVariant);
    CComVariant var( saMatrix );
    var.Detach( pvaVariant );
    return S_OK;
}

注意的一点就是:VBS或其它脚本环境中要得到返回数组参数,数组中的类型是VARIANT类型。

VBS测试脚本
Dim v4

Cnxn4.Add 1, 2 

v4 = Cnxn4.GetArray1()

Dim x

For x = Lbound(v4) To Ubound( v4 )
 MsgBox v4(x)
Next

标签:周口 六安 延安 台湾 玉林 漳州 广安 嘉兴

巨人网络通讯声明:本文标题《使用SAFEARRAY返回的代码》,本文关键词  使用,SAFEARRAY,返回,的,代码,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《使用SAFEARRAY返回的代码》相关的同类信息!
  • 本页收集关于使用SAFEARRAY返回的代码的相关信息资讯供网民参考!
  • 推荐文章