共用方式為


COleSafeArray::CreateOneDim

建立新的一維 COleSafeArray 物件。

void CreateOneDim( 
   VARTYPE vtSrc, 
   DWORD dwElements, 
   const void* pvSrcData = NULL, 
   long nLBound = 0  
);

參數

  • vtSrc
    陣列 (也就是 VARTYPE 基底型別陣列中的每個項目)。

  • dwElements
    項目的數字陣列中的。 這個方法,在建立陣列以 ResizeOneDim之後,可能會變更。

  • pvSrcData
    資料指標複製到陣列中。

  • nLBound
    陣列的下限。

備註

如果指標 pvSrcData 不是 NULL函式,配置和初始化資料為陣列,複製到指定的資料。

在發生錯誤時,擲回例外狀況 CMemoryException

範例

VARIANT varColInfo[3];

//initialize VARIANTs 
for (int i = 0; i < 3; i++)
   VariantInit(&varColInfo[i]);

// Column Name
varColInfo[0].vt = VT_BSTR;
varColInfo[0].bstrVal = ::SysAllocString(L"Name");

// Column Type
varColInfo[1].vt = VT_UI4;
varColInfo[1].lVal = 1;

COleSafeArray sa;
//create a 1 dimensional safearray of VARIANTs 
//& initialize it with varColInfo VARIANT array
sa.CreateOneDim(VT_VARIANT, 2, varColInfo);

//check that the dimension is 2
ASSERT(sa.GetOneDimSize() == 2);

//increase safearray size by 1
sa.ResizeOneDim(3);

// populate the last element of the safearray, (Column Size)
varColInfo[2].vt = VT_I4;
varColInfo[2].lVal = 30;
long el = 2;
sa.PutElement(&el, &varColInfo[2]);

需求

Header: afxdisp.h

請參閱

參考

COleSafeArray 類別

階層架構圖表

COleSafeArray::GetOneDimSize

COleSafeArray::ResizeOneDim

COleSafeArray::Create