Ошибки, баги, вопросы - страница 2748
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Очень много текста, все не читал.
Но если у вас что-то работает в дебаг версии и при этом не работает в релиз, или наоборот, то проверьте все ли переменные и поля, особенно в классе/структуре, были инициализированы.
Те данные, которые нуждались в инициализации я проинициализировал. А если, вдруг и окажутся где-то случайные данные, то это вызовет ошибку самой программы (например Array out of range или Invalid pointer). По крайней мере, на работу отладчика это не повлияет. И подобные баги он как раз и помогает найти.
Может у вас проявляется данныей дефект:
(не исправлено ME5(build 2390)) ** (new) Debuger, не работает StepInto (F11) и установленные breakpoints.
возможно у вас такая сложная структура файлов, что отладчик не может ассоциировать точку останова, тогда это проблема отладчика.
Думаю, что структура файлов стандартных элементов UI, которые я использую в своем проекте еще сложнее, чем моих наработок. Для того чтобы сделать что-то подобное мне пришлось бы очень много работать. А так, бери и пользуйся, как говорится. Если всё сложить вместе, как в моём случае. То, действительно, получается нечто сложное. Но для работающих программ это вполне нормально.
Изначально к этому подводил.
На определенном этапе становится важным не только относительное часть занимаемого времени, но и абсолютная.
Попишите немного на Си языке, появится хорошая привычка аллоцировать переменные.
В первой пользовательской функции входящая MqlTick структура, сразу передаётся в функцию MQL, без выделения памяти.
Такая запись называется плохим кодингом.
Во втором примере, создаётся переменная CurrentTick; под которую выделяется память.
И такая запись считается более правильной.
Так как память уже выделена, то входные данные обрабатываются быстрее, без лишних затрат.
Попишите немного на Си языке, появится хорошая привычка аллоцировать переменные.
...
И такая запись считается более правильной.
Кем считается? Вы бы хоть замеры скорости чтоль привели для начала.
Кем считается? Вы бы хоть замеры скорости чтоль привели для начала.
Слишком много внимания для троля.
последуйте своему совету, возможно у вас появится хотя бы малейшее представление об аллоцировании.
Под аллоцированием имелось ввиду выделение памяти.
А не в том прямом смысле как класса.
Пользовательская функция имеет свою область видимости.
Кем считается? Вы бы хоть замеры скорости чтоль привели для начала.
На предыдущей странице fxsaber привёл замеры.
Я пояснил почему так происходит.
Выделяйте всегда память, статически или динамически.
Может у вас проявляется данныей дефект:
(не исправлено ME5(build 2390)) ** (new) Debuger, не работает StepInto (F11) и установленные breakpoints.
Возможно... Я пробовал заходить в метод int CCheckGroup::itemCheckState(const string item), который я описывал выше. И по началу, действительно отладчик заходит туда. Но стоит выйти из него и всё, больше отладчик его не видит и не работают никакие точки останова ни "Шаг с заходом". Что ж, придётся временно обходиться функциями Print() и Alert().