Выпущен MetaTrader 4 Client Terminal build 600 с обновленным языком MQL4 и Маркетом приложений - страница 103
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Поставил как Вы написали, и ничего нету ...
input int kjh456jjr785 = 0; //Этот текст будет вместо kjh456jjr785
как задано "kjh456jjr785", так это и показывает. Что-то не так?
Добавьте директиву #property strict
Подскажите, пожалуйста, может я чего не понял..
В справке по MQL4 указано:
Ошибки компиляции
MetaEdtior редактор mql4-программ, выдает сообщения об ошибках программы, обнаруженных встроенным компилятором на стадии компиляции. Список этих ошибок приведен ниже в таблице.
Список в справке то есть, но почему в МЕ при появлении указания на ошибку нет номера этой ошибки, почему компилятор не отражает этот номер?
Подскажите, пожалуйста, может я чего не понял..
В справке по MQL4 указано:
Ошибки компиляции
MetaEdtior редактор mql4-программ, выдает сообщения об ошибках программы, обнаруженных встроенным компилятором на стадии компиляции. Список этих ошибок приведен ниже в таблице.
Список в справке то есть, но почему в МЕ при появлении указания на ошибку нет номера этой ошибки, почему компилятор не отражает этот номер?
Это я обнаружил в журнале эксперта с указанием № строки, № символа и причины ошибки! Когда казалось было компилировано, но в работе эксперт остановился! :((
Это я обнаружил в журнале эксперта с указанием № строки и № символа!
Не понял ответ. Номер строки и столбца (не символа!) компилятор указывает, а вот номера ошибки, как в справке - нет. Просто интересно, почему компилятор указывает описание ошибки на английском. А в справке - номер ошибки и описание на русском. Нельзя ли сделать так, чтобы компилятор указывал номер, чтоб посмотреть, что ошибка означает по-русски :)
Всё правильно. Глобальные переменные ведь внутри функции тоже видны, и если вы внутри функции объявляете локальную переменную с тем же именем, то глобальная переменная внутри этой функции становится вам недоступна, ведь вы её переопределили. А если в этой функции глобальная переменная тоже используется (вернее, вы предполагаете, что используется, забыв о том, что вы её переопределили), то такое переопределение приведёт к ошибке. Компилятор в таких случаях обязательно должен выдать предупреждение, что он и делает.
Как это глобальная переменная недоступна?
Вот, доступна:
Печатается:
WinXP-32, build 610.
Несмотря на то, что в функции имеется также явное обращение к глобальной переменной, предупреждение выдаётся все равно.
Во "взрослых" языках данное предупреждение не выдаётся.
Но во "взрослых" языках, при желании, можно настроить, какие предупреждения выдавать, а какие нет.
Сомневаюсь, что в данном языке появится такая возможность.
Ух ты... А я и не знал, что в МКЛ можно явно указать пространство имён. Спасибо, теперь буду знать. )
Но предупреждение при переопределении всё равно должно быть. И не спорьте, и не возражайте! © )))))
Ух ты... А я и не знал, что в МКЛ можно явно указать пространство имён. Спасибо, теперь буду знать. )
Но предупреждение при переопределении всё равно должно быть. И не спорьте, и не возражайте! © )))))
Ага. Если организовать импорт функции GetLastError из kernel32.dll, то ::GetLastError() и kernel32::GetLastError()- вызов 2-х разных функций.
Не понял ответ. Номер строки и столбца (не символа!) компилятор указывает, а вот номера ошибки, как в справке - нет. Просто интересно, почему компилятор указывает описание ошибки на английском. А в справке - номер ошибки и описание на русском. Нельзя ли сделать так, чтобы компилятор указывал номер, чтоб посмотреть, что ошибка означает по-русски :)
Не "столбца (не символа!)", а номер "символа" (буквы, включая пропуски)! А номер ошибки пишется в журнале эксперта и на языке согласно вашему коду! Я пользуюсь штатным #include <stderror.mqh> и соответственно прописываю всё, что меня интересует!
у меня сегодня с утра терминал обновленный работал потом вылетел и начал писать terminal.exe не является приложением Win32. Чего может быть?
Или при вылете категорически поломался, или чем-то блокируется, антивирем или файером.