怎么使用SAFEARRAY返回-创新互联

这篇文章主要介绍了怎么使用SAFEARRAY返回,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创新互联拥有网站维护技术和项目管理团队,建立的售前、实施和售后服务体系,为客户提供定制化的成都做网站、网站制作、网站维护、成都机柜租用解决方案。为客户网站安全和日常运维提供整体管家式外包优质服务。我们的网站维护服务覆盖集团企业、上市公司、外企网站、商城建设、政府网站等各类型客户群体,为全球近千家企业提供全方位网站维护、服务器维护解决方案。

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 );
    CComSafeArray 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返回-创新互联
网址分享:http://azwzsj.com/article/gggcp.html