Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Creates a new one-dimensional COleSafeArray object.
void CreateOneDim(
   VARTYPE vtSrc,
   DWORD dwElements,
   const void* pvSrcData = NULL,
   long nLBound = 0 
);
Parameters
- vtSrc 
 The base type of the array (that is, the VARTYPE of each element of the array).
- dwElements 
 Number of elements in the array. This can be changed after the array is created with ResizeOneDim.
- pvSrcData 
 Pointer to the data to copy into the array.
- nLBound 
 The lower bound of the array.
Remarks
The function allocates and initializes the data for the array, copying the specified data if the pointer pvSrcData is not NULL.
On error, the function throws a CMemoryException.
Example
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]);
Requirements
Header: afxdisp.h