次の方法で共有


COleSafeArray::CreateOneDim

更新 : 2007 年 11 月

新しい 1 次元の 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]);

必要条件

ヘッダー : afxdisp.h

参照

参照

COleSafeArray クラス

階層図

COleSafeArray::GetOneDimSize

COleSafeArray::ResizeOneDim

COleSafeArray::Create

その他の技術情報

COleSafeArray のメンバ