Ошибки, баги, вопросы - страница 1123

 
Fleder:

Функция GetLastError предназначена для ошибок выполнения.

Интересуют ошибки компиляции

Номер ошибки компиляции получить в MetaEditore не получится, но при возникновении ошибки компиляции во вкладке "Ошибки" есть описание ошибки. Если не понятно описание, тогда скопируйте сообщение и переведите в переводчике :).
 

Описание ошибок-то я нашёл. А вот где можно посмотреть номера ошибок?

В МетаЭдиторе нигде не видно... 

 
barabashkakvn:
Номер ошибки компиляции получить в MetaEditore не получится, но при возникновении ошибки компиляции во вкладке "Ошибки" есть описание ошибки. Если не понятно описание, тогда скопируйте сообщение и переведите в переводчике :).
Так и делаю, но это как-то "криво". Попробую подать заявку в сервисдеск, чтобы добавили такую колонку в окне "Инструменты"  во вкладке "Ошибки" в редакторе .
 
Fleder:
Так и делаю, но это как-то "криво". Попробую подать заявку в сервисдеск, чтобы добавили такую колонку в окне "Инструменты"  во вкладке "Ошибки" в редакторе .
Ошибки компиляции - сильно громкое название. Это скорее сообщения о недосмотре. И кстати, в описании про ошибку все понятно. Лично я считаю номер ошибки только отнимет время - скопировать номер ошибки, затем зайти в справку, затем найти номер...
 
Fleder:
В бесконечном цикле нет смысла. Сделать ограниченное количество попыток, после чего в функции int  OnInit() вернуть INIT_FAILED.
Логично, но не хотелось бы, чтоб индюк завершался с ошибкой из-за такой ерунды. Ладно, напишу в сд.
 

Считаете, что быстрее будет перевести английский текст об ошибке или предупреждении в корявом google-переводчике, а потом искать совпадения в справке, где эти описания  на русском языке?

И "интуитивно" понять сообщение о недосмотре "на буржуйском" может далеко не каждый. 

 
Fleder:

Считаете, что быстрее будет перевести английский текст об ошибке или предупреждении в корявом google-переводчике, а потом искать совпадения в справке, где эти описания  на русском языке?

И "интуитивно" понять сообщение о недосмотре "на буржуйском" может далеко не каждый. 

Приведите код (код вставляется с помощью кнопки "SRC") и сообщение об ошибке. Английский язык - официальный язык на котором пишут программы весь мир.
 
Fleder:

Считаете, что быстрее будет перевести английский текст об ошибке или предупреждении в корявом google-переводчике, а потом искать совпадения в справке, где эти описания  на русском языке?

И "интуитивно" понять сообщение о недосмотре "на буржуйском" может далеко не каждый. 

Вот простой пример, как закомментировав всего один символ можно получить сразу три ошибки.

//+------------------------------------------------------------------+
//|                                                  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__);
  }
//+------------------------------------------------------------------+

Получаем сразу три ошибки:

'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                        

 И если бы были номера ошибок, что думаете, будет легче найти источник ошибки?

 
barabashkakvn:
Приведите код (код вставляется с помощью кнопки "SRC") и сообщение об ошибке. Английский язык - официальный язык на котором пишут программы весь мир.

Лично у меня не вызывает затруднений поиск грубых ошибок в коде, на которые "матерится" компилятор. У Вас, надо полагать, тоже. А как же новички?

И вообще, если в документации ошибки компиляции рассматриваются по номерам, то было бы логично предоставить

возможность узнавать номера этих самых ошибок в редакторе при их случайном допущении. 

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

Компилятор воспринимает число 13.7 как тип double. Но в то же время это число может быть без потерь преобразовано в тип float

и это предупреждение излишне. 

Причина обращения: