Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Extrait un élément unique du tableau sécurisé.
void GetElement(
long* rgIndices,
void* pvData
);
Paramètres
rgIndices
Pointeur vers un tableau d'index pour chaque dimension du tableau.pvData
Pointeur vers l'emplacement pour définir l'élément du tableau.
Notes
Cette fonction appelle automatiquement les fonctions windows SafeArrayLock et SafeArrayUnlock avant et après extraire l'élément.Si l'élément de données est une chaîne, un objet, ou une variante, la fonction copie l'élément de la façon correcte.Le paramètre pvData doit pointer vers une mémoire tampon suffisamment grande pour contenir l'élément.
Sur l'erreur, la fonction lève CMemoryException ou COleException.
Exemple
//sa is of type COleSafeArray with 2 dimensions
//Determine upper bounds for both dimensions
long lNumRows;
long lNumCols;
sa.GetUBound(1, &lNumRows);
sa.GetUBound(2, &lNumCols);
//Display the elements in the SAFEARRAY.
long index[2];
VARIANT val;
//Determine lower bounds for both dimensions
long lowRow, lowCol;
sa.GetLBound(1, &lowRow);
sa.GetLBound(2, &lowCol);
for(long r = lowRow; r <= lNumRows; r++ )
{
for(long c = lowCol; c <= lNumCols; c++ )
{
index[0] = r;
index[1] = c;
//retrieve each element of the safearray
sa.GetElement(index, &val);
switch(val.vt)
{
case VT_R8:
TRACE(_T("%1.2f\n"), val.dblVal);
break;
case VT_BSTR:
TRACE(_T("%s\n"),(CString)val.bstrVal);
break;
// other cases ommitted
case VT_EMPTY:
TRACE(_T("<empty>\n"));
break;
}
}
}
Configuration requise
Header: afxdisp.h