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

Товарищи, у кого-нибудь появляется регулярно "Internal compiler error" при компиляции? Без видимых причин, в случае повторной компиляции - зависание, в случае закрытия редактора, открытии заново (с теми же вкладками, с тем же кодом) - компиляция чаще всего проходит нормально. При этом в коде ничего не меняется! Но иногда эта ошибка возникает несколько раз подряд и первая перезагрузка редактора не помогает. Пока в итоге перезагрузок все удавалось скомпилировать. Но я боюсь что рано или поздно это перестанет получаться. Хотелось бы найти ещё кого-то, кто сталкивался с похожими ошибками, чтобы сообща предоставить сервисдеску данные об условиях их возникновения.
[Удален]
Slawa:

Используйте "дублёров" входных параметров

У нас на эту тему пример  в пятёрке есть MQL5\Indicators\Examples\ADX.mq5

Сейча для конвертации индикатора в интерактивынй вариант требуется добавить только одну строчку в исходник. Если делать дублеров, то помимо доп. строчки создания дублера, потребутеся еще по всему тексту делать замену. Зачем этот геморрой, когда можно элементарно поменять одну строчку.

Что мешает убрать const-восприятие input переменных на этапе компиляции?

zaskok3:

Сейча для конвертации индикатора в интерактивынй вариант требуется добавить только одну строчку в исходник. Если делать дублеров, то помимо доп. строчки создания дублера, потребутеся еще по всему тексту делать замену. Зачем этот геморрой, когда можно элементарно поменять одну строчку.

Что мешает убрать const-восприятие input переменных на этапе компиляции?

Редактирование текста. "Ctrl" + "H" - поиск и замена. Ничего сложного. Просто не ленитесь.
zaskok3:

Что мешает убрать const-восприятие input переменных на этапе компиляции?

Глобальное хранилище индикаторов в исторической базе MT5. Для них входные параметры являются ключевыми. При изменении входных параметров индикатор со старыми параметрами уничтожается, и этот же индикатор с изменёнными параметрами заново создаётся.

То есть, ограничение чисто архитектурное

В четвёрке мы могли бы убрать константность с инпутов, но тогда возникает несовместимость нового MQL4 и MQL5. Поэтому мы этого делать не будем. Продолжайте использовать extern

[Удален]

Slawa:

То есть, ограничение чисто архитектурное

Жаль, что архитектура столь закостенела, что нет возможностей даже простой гибкости. Получается, интерактивность на MQL5 надо будет делать через костыль. Спрашивается, где преимущество тогда, если язык ограничивает возможности...
pako:
Окно отвязать от терминала
как?
[Удален]
Joo Zepper:
как?
Где то на форуме было, DLLка
zaskok3:
В MQL4++ без extern не могу обойтись, когда нужно поменять входные параметры программно. Например, при конвертации обычного индикатора в интерактивный приходится input заменять на extern. Компилятор считает input-переменные, как const, и ругается при попытке их изменения. С extern таких проблем не возникает.
У меня возникают. Тоже давно прочитал в хелпе, дескать extern можно менять программно. Глюк на глюке, то меняет, то нет, при ините похоже сбрасываются. Плюнул, сделал копии внешних в глобальные, считываю и копирую только раз при старте программы и внутри программы использую только глобальные. Сразу все заработало, как часы.
zaskok3:
Жаль, что архитектура столь закостенела, что нет возможностей даже простой гибкости. Получается, интерактивность на MQL5 надо будет делать через костыль. Спрашивается, где преимущество тогда, если язык ограничивает возможности...

Вы не понимаете. Мы своим архитектурным решением сэкономили кучу памяти.

Спросите окружающих, что важнее: трудности с копи-пастом 5 строк кода или выигрыш по памяти? Мы, например, ни капельки не задумывались

Slawa:

...

Что Вы посоветуете владельцам нескольких мониторов? Каким образом можно организовать эффективную работу с терминалом?