Библиотеки: Easy Canvas - страница 6

 
Oleksii Chepurnyi:
Может в разных ситуациях по-разному было ) У меня пересоздавался канвас и выглядело это как моргание. я хотел обратить внимание на эту строчку, но не успел )

если есть проблемы, лучше сообщать мне. Все молчат почему-то. Мне же легче разобраться со своим творением.

 
Nikolai Semko:

если есть проблемы, лучше сообщать мне. Все молчат почему-то. Мне же легче разобраться со своим творением.

Я ж говорю, хотел сообщить, но не успел - вышла новая версия, где уже было исправлено.
 
Oleksii Chepurnyi:
Я ж говорю, хотел сообщить, но не успел - вышла новая версия, где уже было исправлено.

а, понял :))

 

версия 1.36
В тестере теперь будет работать более корректно.
Но нужно понимать, что в тестере события перерисовки экрана работают не должным образом. 
Поэтому в режиме тестера перерисовывать лучше в OnCalculate, принудительно вызывая функцию ChartChanged().

Например:

int OnCalculate(const int rates_total,const int prev_calculated,const int begin,const double &price[]) {
   if (rates_total!=prev_calculated && MQLInfoInteger(MQL_TESTER)) {
      ChartChanged();    //  функция находится внутри iCanvas.mqh
      ReDrawMyCanvas();  //  ваш канвас
   }
   return(rates_total);
}
Попробуйте этот индикатор в тестере вместе с обновленной библиотекой.
Файлы:
3DMa.mq5  12 kb
 

Есть огромная просьба. Если можно, конечно )

Вот этот массив:

class iCanvas : public CCanvas
  {
private:
   datetime          T[1];

переименовать, например, на Tm

В одном из проектов в таком виде как сейчас выдает вот такие чудеса.

'[' - name expected     iCanvas.mqh     112     20
declaration of '_Period' hides predefined variable      iCanvas.mqh     112     38
'(' - name expected     iCanvas.mqh     112     46
variable '_Period' not used     iCanvas.mqh     112     38
'[' - name expected     iCanvas.mqh     113     22
'[' - name expected     iCanvas.mqh     114     47
declaration of '_Period' hides predefined variable      iCanvas.mqh     114     65
'(' - name expected     iCanvas.mqh     114     73
variable '_Period' not used     iCanvas.mqh     114     65
'[' - name expected     iCanvas.mqh     115     13

Причину не нашел, попробовал переименовать, все нормально пошло ) Теперь каждый раз в новой версии переименовываю.

 
Oleksii Chepurnyi:

В одном из проектов в таком виде как сейчас выдает вот такие чудеса. 

Причину не нашел, попробовал переименовать, все нормально пошло ) Теперь каждый раз в новой версии переименовываю.

Надо поискать в этом проекте #define T ;)

 
Andrey Khatimlianskii:

Надо поискать в этом проекте #define T ;)

Ну именно Т нету, есть с Т начинаются. Это в сканере такое )

 
Oleksii Chepurnyi:

Ну именно Т нету, есть с Т начинаются. Это в сканере такое )

Ну не бывает же чудес!

Резать проект, пока воспроизводится ошибка. Локализовать место, понять, в чем причина.

Это же private-член класса, он не может ни на что влиять. Это, скорее, на него влияют другие дефайны.

 
Andrey Khatimlianskii:

Ну не бывает же чудес!

Резать проект, пока воспроизводится ошибка. Локализовать место, понять, в чем причина.

Это же private-член класса, он не может ни на что влиять. Это, скорее, на него влияют другие дефайны.

Найти причину интересно, но проще переименовать )

Если не ошибаюсь, эти приколы появились в новых билдах с новыми правилами компиляции.

 
Oleksii Chepurnyi:

Найти причину интересно, но проще переименовать )

Если не ошибаюсь, эти приколы появились в новых билдах с новыми правилами компиляции.

Переименовать не сложно. Благо есть Ctrl+H

  


Но я согласен с Андреем. Ищите у себя #define T или  #include <Canvas\iCanvas.mqh>   поставьте самым первым в проекте