Ошибки, баги, вопросы - страница 2330
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я примерно понял причину. У меня есть глобальная переменная
Что-то с порядком инициализации мкл окружения и миссива видимо, если actobjects указатель и сам размещаю там массив, то ничего не падает. Класс в глобальных переменных - неправильная практика, конечно, перепишу. Но проблемы вылезут и со static массивами в функциях (в мкл ведь не действует правило - инициализация при первом входе в функцию).
В общем, если это считается за ошибку, то зная примерно причину, смогу локализовать, наверное.
В общем, если это считается за ошибку, то зная примерно причину, смогу локализовать, наверное.
Не, не могу поймать, исчезает чудесным образом после вырезки кода. Влияет даже закомментированность некоторых строк (которые не исполняются до падения).
Есть длинный по коду класс, который лежит в mqh. Нужно создать ровно такой же класс, который отличается от исходного только в двух строках (вместо знака меньше должен быть знак больше).
Можно это сделать без создания еще одного почти идентичного mqh?
Когда класс короткий, его легко можно сделать многострочным макросом и все выходит просто. Но здесь код длинный.
Создавать mqh-клон не хочется, т.к. если поправлю один mqh, то надо будет все свои действия повторять во втором. И возникает человеческий фактор забывчивости и невнимательности.
Через шаблонный класс еще можно. Но совершенно не очевидно, как это скажется на скорости выполнения. Класс нужен для быстрых прогонов.
#ifdef
Не выйдет. Оба класса должны быть в работе.
Не выйдет. Оба класса должны быть в работе.
не вижу проблем.
_____________
наследование
вынесение разностей в отдельные мелкие классы
не вижу проблем.
_____________
наследование
вынесение разностей в отдельные мелкие классы
В классе несколько приличных по размеру методов. В каждом методе нужно только знак ">" заменить на знак "<".
Можно использовать virtual на подобие такогоНо, к сожалению, нужно еще передать инициализирующее значение класса. Видимо, все же через шаблон придется делать.
Я бы какие-нибудь адаптеры передавал через шаблонные параметры (не должно там быть каких-то тормозов), но если хочется так топорно, то тоже можно. Сделайте жёсткую ссылку на заголовочный файл (mklink /H <link> <target>, если не ошибаюсь. Можно погуглить на тему: "windows create hard link"). Ну и включаем это хозяйство обычным способом
Я бы какие-нибудь адаптеры передавал через шаблонные параметры (не должно там быть каких-то тормозов), но если хочется так топорно, то тоже можно. Сделайте жёсткую ссылку на заголовочный файл (mklink /H <link> <target>, если не ошибаюсь. Можно погуглить на тему: "windows create hard link"). Ну и включаем это хозяйство обычным способом
Вы не поняли вопроса.
Вы не поняли вопроса.
Ну х.з., а вы уверены что меня поняли? на всякий случай листинг qq.mqh и ee.mqh (одно сущность, меняя один меняется и другой)
Всё как заказывали, класс не вмакросе, почти одинковы кроме _M.