COleSafeArray::CreateOneDim
Crée un nouvel objet unidimensionnel d' COleSafeArray .
void CreateOneDim(
VARTYPE vtSrc,
DWORD dwElements,
const void* pvSrcData = NULL,
long nLBound = 0
);
Paramètres
vtSrc
Le type de base du tableau (autrement dit, VARTYPE de chaque élément du tableau).dwElements
Nombre d'éléments du tableau.Cela peut être modifié après que le tableau soit créée avec ResizeOneDim.pvSrcData
Pointeur vers les données à copier dans le tableau.nLBound
La limite inférieure du tableau.
Notes
La fonction alloue et initialise les données de tableau, la copie des données spécifiées si le pointeur pvSrcData n'est pas NULL.
Sur l'erreur, la fonction lève CMemoryException.
Exemple
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]);
Configuration requise
Header: afxdisp.h