COleSafeArray::CreateOneDim
Cria um novo objeto unidimensional de COleSafeArray .
void CreateOneDim(
VARTYPE vtSrc,
DWORD dwElements,
const void* pvSrcData = NULL,
long nLBound = 0
);
Parâmetros
vtSrc
O tipo base da matriz (isto é, VARTYPE de cada elemento da matriz).dwElements
Número de elementos na matriz.Isso pode ser modificado após a matriz é criada com ResizeOneDim.pvSrcData
Ponteiro para os dados para copiar na matriz.nLBound
O limite inferior da matriz.
Comentários
A função atribui e inicializa os dados da matriz, copiar os dados especificados se o ponteiro pvSrcData não é NULO.
Em erro, a função gera CMemoryException.
Exemplo
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]);
Requisitos
Cabeçalho: afxdisp.h