Выпущена бета-версия MetaTrader 4 Build 582 с обновленным языком MQL4 и Маркетом приложений - страница 37

 
Zhunko:

По моему, рановато релиз выкладывать.

Примеры из справки не компилируются.

'x' - arrays are passed by reference only Check_FuncArray.mq4 19 23

'}' - not all control paths return a value Check_FuncArray.mq4 18 3

Наверно, справка должна соответствовать более строгому компилятору.

Вы это компилировали с наличием #property strict или без него?

И почему вы не сказали, что это за сообщения - обычные ворнинги, указывающие на возможную проблему, или ошибки, из-за которых невозможно получить исполняемый ex4-файл?

 
Renat:
Без флага strict скорее всего будем показывать оригинальные имена переменных. С ним - как в МТ5.

Да. Это реализовали.

Имена параметров в старых MQ4 (то есть без #property strict) будут показываться, как и раньше - оригинальными именами, а не комментариями

 
stringo:

Да. Это реализовали.

Имена параметров в старых MQ4 (то есть без #property strict) будут показываться, как и раньше - оригинальными именами, а не комментариями



Билд 577:

//#property strict

input int shift=10; //aaa
input bool rnd=true; //asb


Что я делаю не так?

 
skumen:

577 билд убил всё тестирование. Чтобы прогнать другой сет - надо перезагружать терминал. Если при одном сете переключиться с "открытия баров" на "все тики" - надо перезагружать терминал.

В 574 - всё норм.

И ещё не работает sinput как заявлено в справке:


С sinput - да, есть проблема. Починим в ближайшем будущем.

А вот про сеты пожалуйста поподробнее, по шагам. Нам нужно воспроизвести Вашу проблему.

 
evillive:

Билд 577:


Что я делаю не так?


Надо перекомпилировать исходник в обновлённом билде.
 
Это само собой, первым делом. Всё как на скрине.
 
zenz:
При преобразовании кода символа CharToStr(nm), если тип переменной nm равен int (как было по старому и до сих пор указано в справке), то компилятор выдает предупреждение "possible loss of data due to type conversion" если поменять тип на char или uchar, то все нормально. Наверно, надо поправить или в справке, или тип сделать как раньше.

Вставите #property strict - будет предупреждение. Без строгой компиляции - всё по-старому, предупреждений при кастинге не будет
 
evillive:
Это само собой, первым делом. Всё как на скрине.

Вы уже с 578 билдом работаете? Значит соответствующее изменение ещё не попало. Подождите, пожалуйста.
 
билд пока 577. наверное в нём ещё нет такого.
 
Y.A.K._:

Воспроизвёл. Ошибка появляется, если не дожидаясь конца тестирования, нажать Стоп, а затем запустить ещё раз. Это баг или я что-то неправильно делаю?

Замена массива на динамический не помогла.


Мы тоже воспроизвели. Спасибо.

Исправим в ближайшее время.

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