Ага. есть тут некоторая недоработка. Хотя, в с++ тоже затруднительно скомпилировать только один файл из проекта.
Все таки мне удается хоть как то разнести функции по разным файлам и потом все компилировать. В этом смысле очень помогает использование длл. А компилировать приходится всё сразу, предварительно сохранив все компилируемые файлы.
Кстати, Очень желательно при запуске компиляции автоматически сохранять используемые файлы. Я не думаю, что всем очевидна необходимость этого сохранения :)
Все таки мне удается хоть как то разнести функции по разным файлам и потом все компилировать. В этом смысле очень помогает использование длл. А компилировать приходится всё сразу, предварительно сохранив все компилируемые файлы.
Кстати, Очень желательно при запуске компиляции автоматически сохранять используемые файлы. Я не думаю, что всем очевидна необходимость этого сохранения :)
Ага. есть тут некоторая недоработка. Хотя, в с++ тоже затруднительно скомпилировать только один файл из проекта.
Тем не менее, было бы просто замечательно, если бы MetaEditor поддерживал проектную структуру как в c++.
Кстати, Очень желательно при запуске компиляции автоматически сохранять используемые файлы. Я не думаю, что всем очевидна необходимость этого сохранения :)
Это точно! Автоматическое сохранение очень даже необходимо. Иначе иногда не можешь понять почему код работает не так, как задумывалось. :)
Решил разнести сложные процедуры по mqh.
Логично проверять их код, компилируя соответствующий файл,
где лежит процедура, отдельно.
НО! Есть общие переменные, которые в процедурах используются.
Если их также вынести в mqh и вводить в отдельные файлы
процедур, например как #include <vars.mqh>, то при компиляции
основного файла переменные оказываются объявлены
несколько раз.
Как можно решить эту проблему?
Переменные объявляйте в одном из файлов, а потом его включайте во все остальные, где необходим доступ к переменным.Логично проверять их код, компилируя соответствующий файл,
где лежит процедура, отдельно.
НО! Есть общие переменные, которые в процедурах используются.
Если их также вынести в mqh и вводить в отдельные файлы
процедур, например как #include <vars.mqh>, то при компиляции
основного файла переменные оказываются объявлены
несколько раз.
Как можно решить эту проблему?
При компиляции "остальных" файлов предупреждений не будет, а при компиляции "главного" файла появится надпись типа "файл уже включен".
Но это не ошибка, а предупреждение - на работу не влияет.
И компилятор не "включает" один файл 2 раза.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Решил разнести сложные процедуры по mqh.
Логично проверять их код, компилируя соответствующий файл,
где лежит процедура, отдельно.
НО! Есть общие переменные, которые в процедурах используются.
Если их также вынести в mqh и вводить в отдельные файлы
процедур, например как #include <vars.mqh>, то при компиляции
основного файла переменные оказываются объявлены
несколько раз.
Как можно решить эту проблему?
Еще есть собственные функции-утилитки, которые
также желательно вынести в mqh. Но если это сделать,
и затем вставлять в файлы процедур, например как:
#include <myfunc.mqh>, возникает та же проблема.
Можете что-то посоветовать? Или я что-то не правильно
делаю?
Заранее признателен за помощь,
Volt