OnChartEvent не видит событие. Как исправить?

 

Привет всем!

Вопрос в следующем. Помогите пожалуйста, разобраться!

С помощью ObjectCreate(...OBJ_BUTTON...) на графике создается кнопка.

При нажатии на кнопку, с помощью ObjectCreate(...OBJ_HLINE...) создаю линию на графике.

Но функция OnChartEvent(...) не видит событие создания линии.

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
   {
    
     if(id==CHARTEVENT_OBJECT_CREATE){
        Print(sparam);
    }
}

Функция Print не выводит sparam.

В то время как, если создавать линию, кликнув кнопочку "Создать линию" на верхней панели терминала, то функция Print прекрасно выводит название линии(sparam).

Что происходит и как это исправить?

P.S. 

Это свойство ChartSetInteger(0,CHART_EVENT_OBJECT_CREATE,0,true) стоит в true.


 
Ирина Макарова:

При нажатии на кнопку, с помощью ObjectCreate(...OBJ_HLINE...) создаю линию на графике.

Но функция OnChartEvent(...) не видит событие создания линии.

На мой взгляд правильно не видит. Ведь программа сама создает этот объект. Зачем ей дополнительное подтверждение того, что она сама же сделала? Если нужно записать факт создания линии, то делайте это по факту успешного выполнения ObjectCreate.

 
Ihor Herasko:

На мой взгляд правильно не видит. Ведь программа сама создает этот объект. Зачем ей дополнительное подтверждение того, что она сама же сделала? Если нужно записать факт создания линии, то делайте это по факту успешного выполнения ObjectCreate.

Огромное спасибо! Теперь всё работает как надо.

Причина обращения: