Detach

Détache l'élément du tableau situé à la position spécifiée.

CObject*  Detach(
   int  pos      // Position
   )

Paramètres

pos

[in] Position de l'élément désiré dans le tableau.

Valeur de Retour

Pointeur sur l'objet détaché en cas de succès, NULL si l'élément ne peut pas être détaché.

Note

Lorsqu'un élément du tableau est détaché, il n'est pas supprimé, quelque soit le mode de gestion de la mémoire. Le pointeur vers l'élément du tableau est retiré de la liste des éléments à libérer.

Exemple :

//--- exemple d'utilisation de CArrayObj::Detach(int)
#include <Arrays\ArrayObj.mqh>
//---
void OnStart()
  {
   CArrayObj *array=new CArrayObj;
   //---
   if(array==NULL)
     {
      printf("Object create error");
      return;
     }
   //--- ajoute des éléments au tableau
   //--- . . .
   CObject *object=array.Detach(0);
   if(object==NULL)
     {
      printf("Detach error");
      delete array;
      return;
     }
   //--- utilisation de l'élément
   //--- . . .
   //--- supprime l'élément
   delete object;
   //--- supprime le tableau
   delete array;
  }