Freigeben über


COleSafeArray::CreateOneDim

Erstellt ein neues COleSafeArray eindimensionales Objekt.

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

Parameter

  • vtSrc
    Der Basistyp des Arrays (das heißt, VARTYPE von jedem Element des Arrays).

  • dwElements
    Anzahl der Elemente im Array. Dies kann geändert werden, nachdem das Array mit ResizeOneDim erstellt wurde.

  • pvSrcData
    Zeiger auf den in das Array kopieren, Daten.

  • nLBound
    Die Untergrenze des Arrays.

Hinweise

Die Funktion belegt und initialisiert die Daten für das Array und kopiert die angegebenen Daten, wenn der Zeiger pvSrcData nicht NULL ist.

Bei einem Fehler wird die Funktion CMemoryException aus.

Beispiel

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]);

Anforderungen

Header: afxdisp.h

Siehe auch

Referenz

COleSafeArray-Klasse

Hierarchiediagramm

COleSafeArray::GetOneDimSize

COleSafeArray::ResizeOneDim

COleSafeArray::Create