處理MyEclipse6.5沒法啟動,一向逗留剛開端啟動界面的詳解。本站提示廣大學習愛好者:(處理MyEclipse6.5沒法啟動,一向逗留剛開端啟動界面的詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是處理MyEclipse6.5沒法啟動,一向逗留剛開端啟動界面的詳解正文
前天碰著有人問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