vedete che ogni funzione restituisce false o -1 se fallisce.
questo è quello che dovreste usare.
È proprio vero! Non ci avevo nemmeno pensato... perché c'è un modo ancora migliore, come me :) posso scrivere funzioni complesse che generano i propri codici di errore.
La funzione GetLastError() viene resettata dopo aver letto il suo valore. Inserisci un'ulteriore lettura vuota prima dell'operazione che vuoi.
Questo è il punto, non voglio mettere una lettura prima dell'operazione richiesta ogni volta... Ho tutte le operazioni di cui ho bisogno, quindi devo fare GetLastError sulla linea:)
Questo è il punto: non voglio mettere una lettura prima dell'operazione richiesta ogni volta... Ho tutte le operazioni di cui ho bisogno, quindi devo fare GetLastError sulla linea:)
Allora non è chiaro come vorresti che la tua nuova funzione funzionasse. Come potrebbe aggiornarsi in base al tempo o a qualsiasi altro segno?
Vorrei leggere e scrivere una variabile speciale last_error. Gestito l'errore, impostato su zero - non gestito - il codice di errore raggiunge la fine del programma e viene rilevato lì.
OrderSend(...);
if (GetError()==конкретный номер){
// код обработки сброс ошибки или наоборот
SetError(0);
}
elseif(...)
...
...
// и в конце программыif (GetError()) >0){
// гдето необработанное исключение или ошибка номер...// просто сообщение об ошибке
}
Senza offesa - anche questo è sbagliato.
È l'errore dell'operazione che deve essere controllato: cioè cosa restituisce OrderSend (...) e solo allora, se necessario, chiamare GetLastError().
Esatto, funziona come previsto :) Ma senza offesa, ho guardato i tuoi codici, non ho trovato nessuna chiamata a GetLastError()... La prima mosca che vola attraverso la finestra distruggerà la civiltà :)
Esatto, funziona come previsto :) Ma senza offesa, ho guardato i tuoi codici, non ho trovato nessuna chiamata a GetLastError() ... La prima mosca che vola attraverso la finestra distruggerà la civiltà :)
E guardate dove ho scritto sulla gestione degli errori - ci sono i thread del forum ;)
No, lo scrivo così:
anche in questo caso è sbagliato.
vedete che ogni funzione restituisce false o -1 se fallisce.
è quello che si usa.
Mi manca questa funzione in MT4, cosa devo fare?
La funzione GetLastError() viene resettata dopo aver letto il suo valore. Inserisci un'ulteriore lettura in bianco prima dell'operazione che vuoi.
anche in questo caso è sbagliato.
vedete che ogni funzione restituisce false o -1 se fallisce.
questo è quello che dovreste usare.
È proprio vero! Non ci avevo nemmeno pensato... perché c'è un modo ancora migliore, come me :) posso scrivere funzioni complesse che generano i propri codici di errore.
La funzione GetLastError() viene resettata dopo aver letto il suo valore. Inserisci un'ulteriore lettura vuota prima dell'operazione che vuoi.
Questo è il punto, non voglio mettere una lettura prima dell'operazione richiesta ogni volta... Ho tutte le operazioni di cui ho bisogno, quindi devo fare GetLastError sulla linea:)
Questo è il punto: non voglio mettere una lettura prima dell'operazione richiesta ogni volta... Ho tutte le operazioni di cui ho bisogno, quindi devo fare GetLastError sulla linea:)
Allora non è chiaro come vorresti che la tua nuova funzione funzionasse. Come potrebbe aggiornarsi in base al tempo o a qualsiasi altro segno?
No, lo scrivo così:
Senza offesa - anche questo è sbagliato.
È l'errore dell'operazione che deve essere controllato: cioè cosa restituisce OrderSend (...) e solo allora, se necessario, chiamare GetLastError().
Esatto, funziona come previsto :) Ma senza offesa, ho guardato i tuoi codici, non ho trovato nessuna chiamata a GetLastError()... La prima mosca che vola attraverso la finestra distruggerà la civiltà :)
Esatto, funziona come previsto :) Ma senza offesa, ho guardato i tuoi codici, non ho trovato nessuna chiamata a GetLastError() ... La prima mosca che vola attraverso la finestra distruggerà la civiltà :)