Errori, bug, domande - pagina 1123

 
Fleder:

La funzioneGetLastError è per gli errori di runtime.

Interessato agli errori di compilazione.

Non puoi ottenere il numero di errore di compilazione in MetaEditore, ma se c'è un errore di compilazione, c'è una descrizione dell'errore nella scheda "Errori". Se non capisci la descrizione, allora copia il messaggio e traducilo con il traduttore :).
 

Ho trovato una descrizione degli errori. Ma dove posso vedere i numeri degli errori?

Non riesco a vederli da nessuna parte in MetaEditor...

 
barabashkakvn:
Non puoi ottenere il numero di errore di compilazione in MetaEditore, ma quando si verifica un errore di compilazione, c'è una descrizione dell'errore nella scheda "Errors". Se non capisci la descrizione, allora copia il messaggio e traducilo con il traduttore :).
Lo sto facendo, ma è in qualche modo "storto". Proverò a fare domanda a Service Desk per aggiungere una tale colonna nella finestra "Strumenti" nella scheda "Errori" nell'editor.
 
Fleder:
Lo faccio, ma è un po' "storto". Proverò a fare domanda a Service Desk per aggiungere una tale colonna nella finestra "Strumenti" nella scheda "Errori" dell'editor.
Errori di compilazione è un nome molto forte. È più probabile che siano rapporti di svista. A proposito, la descrizione dell'errore è molto chiara. Personalmente, penso che il numero di errore richieda solo tempo - copiare il numero di errore, poi andare in aiuto, poi trovare il numero...
 
Fleder:
Non ha senso un ciclo infinito. Per fare un numero limitato di tentativi e poirestituireINIT_FAILED nella funzioneint OnInit() .
Ha senso, ma non vorrei che l'indicatore si bloccasse a causa di queste sciocchezze. Ok, lo scrivo in codice.
 

Pensi che sarebbe più veloce tradurre il testo inglese di un errore o di un avvertimento in un rozzo traduttore di google, e poi cercare le corrispondenze nell'aiuto, dove queste descrizioni sono in russo?

E non tutti possono capire "intuitivamente" un messaggio su una svista "in borghese".

 
Fleder:

Pensi che sarebbe più veloce tradurre il testo inglese di un errore o di un avvertimento in un rozzo traduttore di google, e poi cercare le corrispondenze nell'aiuto, dove queste descrizioni sono in russo?

E non tutti possono capire "intuitivamente" un messaggio su una svista "in borghese".

Date il codice (il codice viene inserito con il pulsante "SRC") e il messaggio di errore. L'inglese è la lingua ufficiale in cui vengono scritti i programmi in tutto il mondo.
 
Fleder:

Pensi che sarebbe più veloce tradurre il testo inglese di un errore o di un avvertimento in un rozzo traduttore di google, e poi cercare le corrispondenze nell'aiuto, dove queste descrizioni sono in russo?

E non tutti possono capire "intuitivamente" il messaggio di errore "in borghese".

Ecco un semplice esempio di come, avendo commentato un solo simbolo, si possono ottenere tre errori contemporaneamente.

//+------------------------------------------------------------------+
//|                                                  test_script.mq5 |
//|                              Copyright © 2014, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2014, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  //{
//---
   Print(__FUNCTION__);
  }
//+------------------------------------------------------------------+

Si ottengono tre errori contemporaneamente:

'test_script.mq5'       test_script.mq5 1       1
'Print' - semicolon expected    test_script.mq5 15      4
'Print' - declaration without type      test_script.mq5 15      4
'}' - expressions are not allowed on a global scope     test_script.mq5 16      3
3 error(s), 0 warning(s)                4       1                        

E se ci fossero numeri di errore, pensi che sarebbe più facile trovare la fonte dell'errore?

 
barabashkakvn:
Date il codice (il codice viene inserito usando il pulsante "SRC") e il messaggio di errore. L'inglese è la lingua ufficiale in cui vengono scritti i programmi in tutto il mondo.

Personalmente, non ho problemi a trovare errori grossolani nel codice che il compilatore "giura". Nemmeno lei, presumo. Ma che dire dei nuovi arrivati?

Infatti, se la documentazione gestisce gli errori di compilazione con i numeri, sarebbe ragionevole fornire

l'opportunità di conoscere i numeri di questi stessi errori nell'editor quando li fa a caso.

 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   float num;
   num=13.7;         //так получаем предупреждение truncation of constant value sample.mq5      9       8
   num=(float)13.7;  //а так всё в порядке
  }
//+------------------------------------------------------------------+

Il compilatore tratta il numero 13,7 come il tipo doppio. Ma allo stesso tempo questo numero può essere convertito senza perdite nel tipo float

e questo avvertimento non è necessario.