DetachCurrent

Nimmt ein Element aus der aktuelle Position der Liste aus, ohne es "körperlich" zu löschen.

CObject*  DetachCurrent()

Rückgabewert

Gibt bei Erfolg einen Zeiger auf das ausgenommenen Element zurück, NULL wenn das Element nicht ausgenommen werden kann.

Hinweis

Bei der Ausnahme aus einer Liste wird das Element nicht gelöscht in jedem Zustand des Flags von Speicherverwaltung. Ein Zeiger auf ein ausgenommenen Element soll nach der Verwendung wieder freigegeben werden.

Beispiel:

//--- example for CList::DetachCurrent() 
#include <Arrays\List.mqh> 
//--- 
void OnStart() 
  { 
   CList *list=new CList; 
   //--- 
   if(list==NULL
     { 
      printf("Object create error"); 
      return
     } 
   //--- add list elements 
   //--- . . . 
   CObject *object=list.DetachCurrent(); 
   if(object==NULL
     { 
      printf("Detach error"); 
      delete list; 
      return
     } 
   //--- use element 
   //--- . . . 
   //--- delete element 
   delete object; 
   //--- delete list 
   delete list; 
  }