使用SAFEARRAY返回的代碼
前天碰到有人問SAFEARRAY的問題,我正好對VB SCRIPT里面如何得到COM組件返回的數(shù)組感興趣,就試驗了一下。
IDE用的是VC7.1
開始都差不多,建立工程,建立COM對象,建立方法:
接口定義:
[id(2), helpstring("method GetArray")] HRESULT GetArray1([out,retval] VARIANT* v);
方法實現(xiàn):
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或其它腳本環(huán)境中要得到返回數(shù)組參數(shù),數(shù)組中的類型是VARIANT類型。
VBS測試腳本
Dim v4
Cnxn4.Add 1, 2
v4 = Cnxn4.GetArray1()
Dim x
For x = Lbound(v4) To Ubound( v4 )
MsgBox v4(x)
Next
您可能感興趣的文章
- 01-10VBScript教程 第七課使用條件語句
- 01-10VBScript教程 第十四課在VBScript中使用對象
- 01-10VBScript教程 第八課 使用循環(huán)語句
- 01-10VBS教程:屬性-Line 屬性
- 01-10VBS教程:屬性-Type 屬性
- 01-10VBS教程:屬性-Path 屬性
- 01-10VBS教程:屬性-Drives 屬性
- 01-10VBS教程:屬性-Files 屬性
- 01-10VBS教程:屬性-Drive 屬性
- 01-10VBS教程:屬性-Count 屬性


閱讀排行
本欄相關
- 01-10下載文件到本地運行的vbs
- 01-10飄葉千夫指源代碼,又稱qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個高效的軟件
- 01-10VBS中的正則表達式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語法速查及實例說明
隨機閱讀
- 01-10delphi制作wav文件的方法
- 01-11ajax實現(xiàn)頁面的局部加載
- 04-02jquery與jsp,用jquery
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10C#中split用法實例總結
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10SublimeText編譯C開發(fā)環(huán)境設置
- 08-05DEDE織夢data目錄下的sessions文件夾有什