ObjectDelete

La funzione rimuove l'oggetto con il nome specificato dalla tabella specificata.

bool  ObjectDelete(
   long    chart_id,     // identificatore del grafico
   string  name          // nome dell'oggetto
   );

Parametri

chart_id

[in] Identificatore del Grafico. 0 significa il grafico corrente.

name

[un] Nome dell' oggetto da eliminare.

Valore restituito

La funzione restituisce true se il comando è stato aggiunto con successo alla coda del chart specificato, altrimenti false.

Nota

Una chiamata asincrona viene sempre utilizzata per ObjectDelete(), che è ciò per cui la funzione restituisce solo i risultati di aggiunta comando ad una coda(queue) chart. In questo caso, true significa solo che il comando è stato accodato correttamente, ma il risultato della sua esecuzione non è noto.

Per verificare il risultato di esecuzione del comando, è possibile utilizzare la funzione ObjectFind() o qualsiasi altra funzione che richiede proprietà dell'oggetto, come ObjectGetXXX. Tuttavia, dovresti tenere presente che tali funzioni vengono aggiunte alla fine della coda di quel grafico ed aspettano il risultato dell'esecuzione (dovuto alla chiamata sincrona) e quindi possono richiedere molto tempo. Questa funzione deve essere presa in considerazione quando si lavora con un gran numero di oggetti su un chart.

Quando un oggetto viene rinominato, due eventi si formano simultaneamente. Questi eventi possono essere gestiti in un Expert Advisor o indicatore della funzione OnChartEvent():

  • un evento di eliminazione di un oggetto con il vecchio nome;
  • un evento di creazione di un oggetto con un nuovo nome.