COleSafeArray::PutElement
Weist ein einzelnes Element in das Array zu.
void PutElement(
long* rgIndices,
void* pvData
);
Parameter
rgIndices
Zeiger auf ein Array Indizes für jede Dimension des Arrays.pvData
Zeiger auf dem Array zuzuweisen, Daten. VT_DISPATCH, VT_UNKNOWN und variante Typen VT_BSTR sind Zeiger und erfordern kein anderes Dereferenzierungsebene.
Hinweise
Diese Funktion wird automatisch die Windows-Funktionen SafeArrayLock und SafeArrayUnlock vor und nach dem Zuweisen des Elements auf. Wenn das DataItem-Steuerelement eine Zeichenfolge, ein Objekt oder eine Variante ist, kopiert die Funktion korrekt und das vorhandene Element eine Zeichenfolge, ein Objekt oder eine Variante ist, wird sie ordnungsgemäß gelöscht.
Beachten Sie, dass mehrere Sperren auf einem Array haben können, sodass Sie Elemente in ein Array setzen, während das Array durch andere Vorgänge gesperrt ist.
Bei einem Fehler wird die Funktion CMemoryException oder COleException aus.
Beispiel
VARIANT retVariantArray()
{
COleSafeArray saRet;
DWORD numElements[] = {10, 10}; // 10x10
// Create the 2 dimensional safe-array of type VT_R8 with size 10x10
saRet.Create(VT_R8, 2, numElements);
// Initialize safearray with values...
long index[2];
for(index[0] = 0; index[0] < 10; index[0]++)
{
for(index[1] = 0; index[1] < 10; index[1]++)
{
double val = index[0] + index[1]*10;
//populate the safearray elements with double values
saRet.PutElement(index, &val);
}
}
// Return the safe-array encapsulated in a VARIANT...
return saRet.Detach();
}
Anforderungen
Header: afxdisp.h