EnglishУкраїнськаmRussian
Login/New
Topic with many replies

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


Author Message
Written on: 20. 05. 2013 [10:51]
feofankss
Сергей Костяев
Topic creator
registered since: 07.05.2013
Posts: 16
Единственное сообщение о событиях:
JAVASCRIPT
4|TEST | Event: ws_FocusIn


При нажатии на кнопки нет никаких сообщений.
Written on: 20. 05. 2013 [10:59]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"feofankss" wrote:

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


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

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


Learn, learn and learn better than work, work and work.
Written on: 20. 05. 2013 [11:14]
feofankss
Сергей Костяев
Topic creator
registered since: 07.05.2013
Posts: 16
Копировал
JAVASCRIPT
off = 0;
ev_cur=Special.FLibSYS.strParse(event,0,"\n",off);
SYS.messErr("TEST","Event: "+ev_cur);

в самое начало скрипта. Теперь сообщение печатается дважды. На нажатия кнопок реакции по-прежнему нет. Кнопки включены и активны.
Written on: 20. 05. 2013 [11:22]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 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.
Written on: 20. 05. 2013 [12:05]
feofankss
Сергей Костяев
Topic creator
registered since: 07.05.2013
Posts: 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/ | Исчерпано предельное время вычисления функции.
Я так понимаю, это тот самый "период вычисления"?
Written on: 20. 05. 2013 [12:22]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 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.
Written on: 20. 05. 2013 [12:26]
feofankss
Сергей Костяев
Topic creator
registered since: 07.05.2013
Posts: 16
Значит, скрипт должен выполняться каждый "период вычисления" без зацикливания. Почему этого не происходит? Скрипт выполняется однократно.
Written on: 20. 05. 2013 [12:29]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 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.
Written on: 20. 05. 2013 [12:49]
feofankss
Сергей Костяев
Topic creator
registered since: 07.05.2013
Posts: 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
Written on: 20. 05. 2013 [12:55]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 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.



6434