国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

使用SAFEARRAY返回的代碼

2020-07-26 12:04:01
字體:
來源:轉載
供稿:網友
前天碰到有人問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 );
    CComSafeArray<VARIANT> 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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 珠海市| 绵阳市| 孙吴县| 资溪县| 崇文区| 江源县| 视频| 景宁| 汝州市| 噶尔县| 板桥市| 二连浩特市| 邓州市| 宁明县| 许昌市| 商洛市| 晋宁县| 邹平县| 鸡东县| 南投市| 扶余县| 芜湖市| 合作市| 吉首市| 那曲县| 静安区| 平和县| 元谋县| 黄平县| 错那县| 耿马| 厦门市| 泰宁县| 中西区| 拉孜县| 邵武市| 鲁山县| 峨眉山市| 株洲县| 自贡市| 镇坪县|