Страница 2 из 2

Re: Запуск метода по таймеру из метода

Добавлено: Ср фев 24, 2021 11:41 am
Virtual__
в xray вообще этот таймер не видно? он там вообще должен появляться?
Причем даже когда срабатывает то то-же не появляется.

Re: Запуск метода по таймеру из метода

Добавлено: Ср фев 24, 2021 12:07 pm
Chainik
Таймер появляться должен. Поставьте только пока время таймера секунд 25-30, а то там время обновления информации секунд 5. Возможно, вы просто не успеваете его заметить.

Re: Запуск метода по таймеру из метода

Добавлено: Ср фев 24, 2021 12:26 pm
Virtual__
Chainik писал(а): Ср фев 24, 2021 12:07 pm Таймер появляться должен. Поставьте только пока время таймера секунд 25-30, а то там время обновления информации секунд 5. Возможно, вы просто не успеваете его заметить.
Сорри таймер запускается, не по тому имени фильтровал ...

вот в иксрее с поле команда :
say('запущен таймер_'.time()); callMethod(51_WateringDevice.'.SetOpenTime');
чет мне кажется косяк в имени метода после подстановки имени объекта.

Re: Запуск метода по таймеру из метода

Добавлено: Ср фев 24, 2021 12:34 pm
Virtual__
Ураааа заработало!!!

SetTimeOut("tst_timer", "callMethod('$ot.SetOpenTime');", 5); вот рабочий вариант

А правильнее будет
SetTimeOut($ot."_timer", "callMethod('$ot.SetOpenTime');", 5);

А так же работает:
SetTimeOut($this->object_title."_timer", "callMethod('$this->object_title.SetOpenTime');", 5);
Осталась непонятка с "." после $this->object_title в названии таймера, без точки на сохраняется скрипт, но в названии таймера в иксрее ее нет.
А в вызове метода она присутствует

Re: Запуск метода по таймеру из метода

Добавлено: Ср фев 24, 2021 12:54 pm
Chainik
Вы переменную внутрь кавычек запихиваете. Правильный вариант должен быть таким:

Код: Выделить всё

SetTimeOut($ot."_timer", "callMethod($ot.'.SetOpenTime');", 5);
Точка (вне кавычек) "склеивает" текст/выражение.