УкраїнськаEnglishmRussian
Вхід/Новий
У темі багато повідомлень

Составной виджет. Не отрабатывает взаимодействие кнопок с контроллером логического уровня.


Автор Повідомлення
Повідомлення створено: 20. 05. 2013 [10:51]
feofankss
Сергей Костяев
Автор теми
Зареєстрован(а) с: 07.05.2013
Повідомлення: 16
Единственное сообщение о событиях:
JAVASCRIPT
4|TEST | Event: ws_FocusIn


При нажатии на кнопки нет никаких сообщений.
Повідомлення створено: 20. 05. 2013 [10:59]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"feofankss" wrote:

Единственное сообщение о событиях:
JAVASCRIPT
4|TEST | Event: ws_FocusIn


При нажатии на кнопки нет никаких сообщений.

- А вообще, если печать поставить сверху скрипта? Возможно скрипт не выполняется совсем.
- Кнопки Вы активировали?


Learn, learn and learn better than work, work and work.
Повідомлення створено: 20. 05. 2013 [11:14]
feofankss
Сергей Костяев
Автор теми
Зареєстрован(а) с: 07.05.2013
Повідомлення: 16
Копировал
JAVASCRIPT
off = 0;
ev_cur=Special.FLibSYS.strParse(event,0,"\n",off);
SYS.messErr("TEST","Event: "+ev_cur);

в самое начало скрипта. Теперь сообщение печатается дважды. На нажатия кнопок реакции по-прежнему нет. Кнопки включены и активны.
Повідомлення створено: 20. 05. 2013 [11:22]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"feofankss" wrote:

Теперь сообщение печатается дважды.

Что значит дважды? Оно должно печататься с периодичностью вычисления виджета, если нет то его вычисление останавливается или очень редко!
Читаем здесь:
- http://oscada.org/ua/forum/posts/proekt/pochemu_ne_reagiruet_na_chekboks
- http://wiki.oscada.org/Doc/QuickStart#h988-26

И скрипт Вы сломали!

Learn, learn and learn better than work, work and work.
Повідомлення створено: 20. 05. 2013 [12:05]
feofankss
Сергей Костяев
Автор теми
Зареєстрован(а) с: 07.05.2013
Повідомлення: 16
Что значит "сломал скрипт"? Вычисления становятся периодическими только если добавить в программу бесконечный цикл (внутрь которого проверку временных интервалов отсюда http://wiki.oscada.org/Doc/QuickStart#h988-26)

А что значит,
JAVASCRIPT
4|/AGLKS/sub_DAQ/mod_JavaLikeCalc/lib_sys_compile/fnc_L_ilma_test_vision_bur1/ | Исчерпано предельное время вычисления функции.
Я так понимаю, это тот самый "период вычисления"?
Повідомлення створено: 20. 05. 2013 [12:22]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"feofankss" wrote:

Что значит "сломал скрипт"? Вычисления становятся периодическими только если добавить в программу бесконечный цикл (внутрь которого проверку временных интервалов отсюда http://wiki.oscada.org/Doc/QuickStart#h988-26)

Не становятся! Сам сеанс проекта выполняется периодически и если вы зацикливаете скрипты виджетов то они исключаются из последующей обработки. Читайте по той ссылке внимательно!

"feofankss" wrote:

А что значит,
JAVASCRIPT
4|/AGLKS/sub_DAQ/mod_JavaLikeCalc/lib_sys_compile/fnc_L_ilma_test_vision_bur1/ | Исчерпано предельное время вычисления функции.
Я так понимаю, это тот самый "период вычисления"?

Да, Вы зациклили скрипт виджета чего делать нельзя!

P.S. Перечитываем внимательно Быстрый Старт!

Learn, learn and learn better than work, work and work.
Повідомлення створено: 20. 05. 2013 [12:26]
feofankss
Сергей Костяев
Автор теми
Зареєстрован(а) с: 07.05.2013
Повідомлення: 16
Значит, скрипт должен выполняться каждый "период вычисления" без зацикливания. Почему этого не происходит? Скрипт выполняется однократно.
Повідомлення створено: 20. 05. 2013 [12:29]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"feofankss" wrote:

Значит, скрипт должен выполняться каждый "период вычисления" без зацикливания. Почему этого не происходит? Скрипт выполняется однократно.

Если есть такое:
4|/AGLKS/sub_DAQ/mod_JavaLikeCalc/lib_sys_compile/fnc_L_ilma_test_vision_bur1/ | Исчерпано предельное время вычисления функции.

Значит Вы зациклили скрипт своего виджета и он был остановлен, сколько раз мне это повторить?

Learn, learn and learn better than work, work and work.
Повідомлення створено: 20. 05. 2013 [12:49]
feofankss
Сергей Костяев
Автор теми
Зареєстрован(а) с: 07.05.2013
Повідомлення: 16
Для отладки выставил период вычисления 500 мс, оставил в скрипте только:
JAVASCRIPT
off = 0;
ev_rez="";
ev_cur=Special.FLibSYS.strParse(event,0,"\n",off);
SYS.messErr("TEST","Event: "+ev_cur);
event=ev_rez;

Чтобы уменьшить вероятность ошибки. При запуске, несмотря на нажатия кнопок, в консоли такой вывод:
JAVASCRIPT
1|/AGLKS/sub_UI/mod_VCAEngine/ses_AGLKS/ | Включение сеанса.
1|/AGLKS/sub_UI/mod_VCAEngine/ses_AGLKS/ | Запуск сеанса.
4|TEST | Event:
3|/AGLKS/sub_UI/mod_Vision/ | Ошибка открытия: /dev/input/by-path/platform-pcspkr-event-spkr
4|TEST | Event: ws_FocusIn
Повідомлення створено: 20. 05. 2013 [12:55]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
"feofankss" wrote:

Чтобы уменьшить вероятность ошибки. При запуске, несмотря на нажатия кнопок, в консоли такой вывод:
JAVASCRIPT
1|/AGLKS/sub_UI/mod_VCAEngine/ses_AGLKS/ | Включение сеанса.
1|/AGLKS/sub_UI/mod_VCAEngine/ses_AGLKS/ | Запуск сеанса.
4|TEST | Event:
3|/AGLKS/sub_UI/mod_Vision/ | Ошибка открытия: /dev/input/by-path/platform-pcspkr-event-spkr
4|TEST | Event: ws_FocusIn


Несмотря на что?
Вывод корректный, поскольку достаётся из "event" только первое сообщений, а остальные игнорируются!
Сообщения "4|TEST | Event:" повторяются каждые пол секунды?

Learn, learn and learn better than work, work and work.



6830