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

 

Ах, неужели эта тема в дебаге больше не работает?
Печалька :(( Очень пригождалась в работе


 
Nikolai Semko #:

Да, наверное, Вы правы. Скорей всего так и будет. 
И для экономии ресурсов правильно бы контролировать активность окна и не формировать битмап, если окно не активно.

Стоит проверить, а не строить предположений.

Что удалось выяснить:

  • при переключении окон ресурс не удаляется
  • при переключении окон происходит событие CHARTEVENT_CHART_CHANGE, так как меняется размер окна на размер окна предыдущих установок размера "не на все окно", т.е. словно окно перешло в такой режим: 
  • целесообразно контролировать активность окна (ChartGetInteger(0, CHART_BRING_TO_TOP)) и выключать формирование битмапа (заполнять канвас) для экономии ресурсов работы процессора в случае неактивности окна


В тестовом индикаторе счетчик сохраняется в ресурсе канваса.

Файлы:
 
Nikolai Semko #:

Что удалось выяснить:

  • при переключении окон ресурс не удаляется
  • при переключении окон происходит событие CHARTEVENT_CHART_CHANGE, так как меняется размер окна на размер окна предыдущих установок размера "не на все окно", т.е. словно окно перешло в такой режим: 
  • целесообразно контролировать активность окна (ChartGetInteger(0, CHART_BRING_TO_TOP)) и выключать формирование битмапа (заполнять канвас) для экономии ресурсов работы процессора в случае неактивности окна

В тестовом индикаторе счетчик сохраняется в ресурсе канваса.

так это же очевидная Ваша ошибка - использование одного и того же ресурса на многих чартах во многих индикаторах.
ваши индикаторы (или ЕА) не работают если окно не активно - то есть пользователь не сможет использовать несколько копий одновременно на разных чартах.
 
Taras Slobodyanik #:

так это же очевидная Ваша ошибка - использование одного и того же ресурса на многих чартах во многих индикаторах.
ваши индикаторы (или ЕА) не работают если окно не активно - то есть пользователь не сможет использовать несколько копий одновременно на разных чартах.
Что за бред, Тарас?
Даже не знаю как ответить.
Изучайте матчасть.
При чем тут работа индикатора и графический вывод? У каждого индикатора или EA свой графический ресурс.
Загляните в класс CCanvas, как формируется имя ресурса.
 
Nikolai Semko #:
При чем тут работа индикатора и графический вывод? У каждого индикатора или EA свой графический ресурс.
Загляните в класс CCanvas, как формируется имя ресурса.

При том что когда одинаковые ресурсы то они перерисовываются для всех копий.

Проверял ваш код в "окнонном" режиме и на одном чарте - размер один и тот же.
Для "развернутого" режима да размер изменяется, но это древний баг - несколько лет ему точно.

При чем тут работа индикатора и графический вывод?

при том что если окно неактивно то вы рекомендуете не обновлять канвас - это значит что

пс. ну и следовательно - не будут работать панели, благодаря вашему совету :)

то есть визуально в "оконном" режиме, индикаторы (и ЕА) не будут обновляться.

пс. хотя если проверка только в OnChartEvent то должно работать, надо проверить.

 
Taras Slobodyanik #:

При том что когда одинаковые ресурсы то они перерисовываются для всех копий.

они не одинаковые

при том что если окно неактивно то вы рекомендуете не обновлять канвас - это значит что

то есть визуально в "оконном" режиме, индикаторы (и ЕА) не будут обновляться.

да, был не прав с CHART_BRING_TO_TOP
надо использовать вариант fxsaber

 
Nikolai Semko #:

Что удалось выяснить:

  • при переключении окон ресурс не удаляется
  • при переключении окон происходит событие CHARTEVENT_CHART_CHANGE, так как меняется размер окна на размер окна предыдущих установок размера "не на все окно", т.е. словно окно перешло в такой режим: 
  • целесообразно контролировать активность окна (ChartGetInteger(0, CHART_BRING_TO_TOP)) и выключать формирование битмапа (заполнять канвас) для экономии ресурсов работы процессора в случае неактивности окна


В тестовом индикаторе счетчик сохраняется в ресурсе канваса.

Прекрасно. Теперь можно точно сказать как всё работает, а не предполагать. Будет полезно всем, кто работает с CCanvas.

 
Nikolai Semko #:

Ах, неужели эта тема в дебаге больше не работает?
Печалька :(( Очень пригождалась в работе


Какой у Вас билд, бета или релизный?

 
Mihail Matkovskij #:

Какой у Вас билд, бета или релизный?

 
Nikolai Semko #:

Скорее всего у Вас бета. Думал данная возможность пропала в бета версии. Но проверил у себя (билд 3091, релизная версия) и также не работает.