COleSafeArray::PutElement
Do pole přiřadí jeden prvek.
void PutElement(
long* rgIndices,
void* pvData
);
Parametry
rgIndices
Ukazatele na matici indexy pro každou dimenzi matice.pvData
Ukazatel na data, která chcete přiřadit pole.VT_DISPATCH, VT_UNKNOWN, a VT_BSTR typy variant jsou ukazatele a nevyžadují další úroveň nepřímé odkazování.
Poznámky
Tato funkce automaticky volání funkcí systému Windows SafeArrayLock a SafeArrayUnlock před a po přiřazení prvku.Pokud prvek dat je řetězec, objektu nebo varianty, funkce zkopíruje jej správně a pokud existující prvek je řetězec, objektu nebo varianty, je zrušeno správně.
Nezapomeňte, že můžete mít více zámky na pole, tak prvky lze zadat do pole pole uzamčený jiné operace.
Chyba, vyvolá funkci CMemoryException nebo COleException.
Příklad
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();
}
Požadavky
Záhlaví: afxdisp.h