Поиск объекта на графике

 

Здравствуйте!

Суть вопроса:

Почему если я вызываю такой код в обработчике нажатия кнопки:

if (ObjectFind(0,"nn_true")==0)
{Print("true finded");}
if (ObjectFind(0,"nn_false")==0)
{Print("false finded");}
if (ObjectFind(0,"nn_zero")==0)
{Print("zero finded");}

То ничего не выводится, а так-же я не могу открыть св-ва объекта или удалить его пока не сниму эксперт с графика.
При чем иногда этот код работает, а иногда не работает.
Объекты являются линиями и созданы мною.


И еще, getlasterror() выдает 4202

 

Изменил название объекта на "zero" изменил в коде название - нашел объект.

Все обратно сделал - все равно работает, не могу понять при каких условиях перестает искать объекты.

 
mrProF:

И еще, getlasterror() выдает 4202


Графический объект не найден

Если есть возможность, то выложите полный код. А так же укажите билд, ОС, битность.

 
ALozovoy:

Графический объект не найден

Если есть возможность, то выложите полный код. А так же укажите билд, ОС, битность.

Билд последний на данный момент.

void OnChartEvent(const int id, 
                  const long& lparam,
                  const double& dparam,
                  const string& sparam
  )
  {
        if (id==CHARTEVENT_OBJECT_CLICK && sparam=="button")
        {
                Sleep (100);
                ObjectSetInteger(0,"button",OBJPROP_STATE,false);
                ChartRedraw(0);
                if (ObjectFind(0,"nn_zero")==0)
                {Print("zero finded");}
                if (ObjectFind(0,"nn_true")==0)
                {Print("true finded");}
                if (ObjectFind(0,"nn_false")==0)
                {Print("false finded");}
        }
  }

Объекты создавал сам. Пока-что не могу повторить ситуацию, если получится, опишу условия при которых перестал искать объекты. Естественно объект был правильно назван.

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