Freigeben über


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

Siehe auch

Referenz

COleSafeArray-Klasse

Hierarchiediagramm

COleSafeArray::GetElement

Weitere Ressourcen

SafeArrayPutElement