Обсуждение статьи "Графика в библиотеке DoEasy (Часть 89): Программное создание стандартных графических объектов. Базовый функционал"

 

Опубликована статья Графика в библиотеке DoEasy (Часть 89): Программное создание стандартных графических объектов. Базовый функционал:

Наша библиотека теперь умеет отслеживать появление на графике клиентского терминала стандартных графических объектов, их удаление и модификацию некоторых их параметров. Но для полного "комплекта" нам, конечно же, не хватает возможности создавать стандартные графические объекты из своих программ.

Скомпилируем советник и запустим его на графике.

Сначала создадим вертикальную линию щелчком на графике при зажатой клавише Ctrl, поглядим с каким идентификатором создана линия и как изменяются свойства объекта при перемещении линии по графику. Попробуем повторно создать такую же линию — получим сообщение об ошибке в журнале.
Далее создадим равноудалённый канал, посмотрим значение его идентификатора, а затем — как отслеживаются изменения свойств трёх его опорных точек:



Автор: Artyom Trishkin

 
1. Компайлер выдает предупреждение об использовании устаревшего поведения в 

GraphElementsCollection.mqh line 2290 col 10.

Тянется давненько, почему не исправите?

2. Имеется ли в данном проекте logging?
Если да, то где описан?

 
andrik377 #:
1. Компайлер выдает предупреждение об использовании устаревшего поведения в 

GraphElementsCollection.mqh line 2290 col 10.

Тянется давненько, почему не исправите?

2. Имеется ли в данном проекте logging?
Если да, то где описан?

  1. Тот Print, который вызывает это предупреждение, является временным. Потому и написан как Print. Те, которые нужны в библиотеке, пишутся как ::Print. Этот скоро будет убран. PS: для меня это один из способов знать где расположены временные заглушки - чтобы долго не искать.
  2. Что подразумеваете под "logging" ?
 

1. Я тут начинающий. Что это  ::Print ? Где об этом почитать?

2. "logging" это журналирование, т.е. генерация инфы о событиях и их направление куда-либо (в журнал эксперта, файл ...). Необходимая вещь для отдадки сложного софта. Какие то зачатки этого я видел в текстах базовых объектов.

 
andrik377 #:

1. Я тут начинающий. Что это  ::Print ? Где об этом почитать?

2. "logging" это журналирование, т.е. генерация инфы о событиях и их направление куда-либо (в журнал эксперта, файл ...). Необходимая вещь для отдадки сложного софта. Какие то зачатки этого я видел в текстах базовых объектов.

Документация -> Print

 
andrik377 #:

1. Я тут начинающий. Что это  ::Print ? Где об этом почитать?

2. "logging" это журналирование, т.е. генерация инфы о событиях и их направление куда-либо (в журнал эксперта, файл ...). Необходимая вещь для отдадки сложного софта. Какие то зачатки этого я видел в текстах базовых объектов.

Для этого есть класс CMessage.

:: перед названием функции - это операция разрешения контекста.

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIX): Класс сообщений библиотеки
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIX): Класс сообщений библиотеки
  • www.mql5.com
В статье рассмотрим класс вывода текстовых сообщений. Сейчас у нас имеется достаточное количество различных текстовых сообщений, и уже стоит подумать о реорганизации способа их хранения, вывода и удобства правки русских сообщений на иной язык, а так же об удобном способе добавления новых языков в библиотеку и быстром переключении между ними.
 
Глобальный метод ::Print пока отсутствует?
 
andrik377 #:
Глобальный метод ::Print пока отсутствует?
Зачем он нужен?
Есть же функция. Нужно - используйте.
 
Все таки, как ее переопределить, т.е. сделать так , чтоб ::Print вызывал не Print, а переопределение?
Пожалуйста, пример.
Причина обращения: