Всем привет
Я написал правило и в логах пишет вот такое сообщение:
daemon.info wb-rules[4893]: ERROR: failed to SetValue for unexisting control
Не пойму как найти в чем ошибка?
Всем привет
Я написал правило и в логах пишет вот такое сообщение:
daemon.info wb-rules[4893]: ERROR: failed to SetValue for unexisting control
Не пойму как найти в чем ошибка?
вот такое еще вариант похожей ошибки:
daemon.info wb-rules[16002]: ERROR: failed to SetValue for unexisting control
Без исходников - не понять. Но предполагаю что пытаетесь установить отсутствющий контрол. То есть изменить несуществующее значение.
Это понятно, но а как сделать чтобы более конкретная ошибка писалась в логах? номер строки или название контрола или еще что то. Я так понимаю просто надо в wb-rules дописать расширенное сообщение для лога. Так?
После добавления сообщения логов в места присвоения значений, удалось найти ошибку.
P.S. Но если бы можно было сделать изначально более информативное сообщение было бы круто!
В более свежих версиях wb-rules над этим работаем, да.
А возможно как то проверить существует ли контрол перед записью в него значения?
Для проверки контрола на существование можно воспользоваться функцией isControlExists(<id контрола>). Так как при попытке установить значения контролов не виртуальных (внешних) девайсов возникает исключение — для проверки на принадлежность девайса можно использовать метод isVirtual(). Для удобства выполнения операция над всеми контролами, присутствующими на девайсе можно использовать метод получения массива контролов controlsList() и, например, итерировать его так: