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

 
Andrey Barinov:

Лучше сразу все (bmp) объекты на одном канвасе рисуйте, в долгосроке это более простой подход.

Именно по этой причине и спрашиваю. Выше вопрос еще один оформил.

 
fxsaber:

Спасибо! Еще вопрос. Если, например, пять объектов одновременно накладываются друг на друга, то надо пары (top/bottom) составлять снизу-вверх или сверху-вниз?


я рисую слоями, в соответствии с порядком (типа zorder), снизу вверх, ибо подразумевается что сразу неизвестно какие пиксели у пяти объектов будут пересекаться. Как на настоящем холсте будто-бы.

После микса как-то так получается


 
Andrey Barinov:

я рисую слоями, в соответствии с порядком (типа zorder), снизу вверх, ибо подразумевается что сразу неизвестно какие пиксели у пяти объектов будут пересекаться. Как на настоящем холсте будто-бы.

После микса как-то так получается

Отлично! Используете доработанный CCanvas или полностью свое решение? Какой подход выгоднее в долгосроке?

 
fxsaber:

Отлично! Используете доработанный CCanvas или полностью свое решение? Какой подход выгоднее в долгосроке?


Пришлось писать свое, но со значительными заимствованиями кусков кода из стандартной библиотеки (алгоритмы рисования примитивов, сглаживания и т.д). Впихнуть куски кода в свой концепт работы с графикой оказалось проще чем оборачивать свой концепт вокруг стандартной библиотеки.

Я был бы не против использовать стандартную библиотеку, если бы она была "живая", но пока она для ГУИ не приспособлена никак.

 
Andrey Barinov:

Пришлось писать свое, но со значительными заимствованиями кусков кода из стандартной библиотеки (алгоритмы рисования примитивов, сглаживания и т.д). Впихнуть куски кода в свой концепт работы с графикой оказалось проще чем оборачивать свой концепт вокруг стандартной библиотеки.

Я был бы не против использовать стандартную библиотеку, если бы она была "живая", но пока она для ГУИ не приспособлена никак.

Ясно теперь, спасибо.

 
Баг языка
#include <Expert\ExpertSignal.mqh>

void OnStart()
{
  CIndicator* a = NULL;   
  CExpertSignal b;
       
  b.InitIndicators(a); // 'InitIndicators' - no one of the overloads can be applied to the function call
}
 
fxsaber:
Баг языка

Ошибка в коде пользователя - это не баг: метод InitIndicators(CIndicator *) отсутствует

 
A100:

Ошибка в коде пользователя - это не баг: метод InitIndicators(CIndicator *) отсутствует

Буковка s отсутствует, но сообщение компилятора ошибочно, поэтому в СД взялись за исправление.

 
fxsaber:

СД взялись за исправление.

Нельзя исправить то что не содержит ошибки. Загляните в файл <Indicator.mqh> - там будет класс class CIndicator без буквы s
 
A100:
Нельзя исправить то что не содержит ошибки. Загляните в файл <Indicator.mqh> - там будет класс class CIndicator без буквы s

Напишите об этом в СД. Там утверждают (не я), что ошибка имеет место быть и ее будут править.