DetachCurrent

Estrae un elemento dalla posizione corrente nella lista senza la sua eliminazione "fisica".

CObject*  DetachCurrent()

Valore di ritorno

Puntatore all'elemento rimosso in caso di successo, NULL - non è possibile rimuovere l'elemento.

Nota

Quando viene rimosso dalla lista, l'elemento non viene rimosso in qualsiasi stato di flag di gestione della memoria. Il puntatore all'elemento estratto deve essere rilasciato dopo che è stato usato.

Esempio:

//--- esempio per CList::DetachCurrent()
#include <Arrays\List.mqh> 
//--- 
void OnStart() 
  { 
   CList *list=new CList; 
   //--- 
   if(list==NULL
     { 
      printf("Errore creazione oggetto"); 
      return
     } 
   //--- aggiunge elementi nella lista
   //--- . . . 
   CObject *object=list.DetachCurrent(); 
   if(object==NULL
     { 
      printf("Errore distaccamento"); 
      delete list; 
      return
     } 
   //--- usa elemento 
   //--- . . . 
   //--- elimina elemento 
   delete object; 
   //--- elimina lista 
   delete list; 
  }