Добрый день!
Столкнулся с следующей ситуацией:
По некоторому событию необходимо сделать недоступными элементы кластера. Использую свойство Disable and Grayed Out(вполне подходит и наглядно демонстрирует заблокированные элементы управления). Однако, если в процессе "блокировки" нажать на другой элемент - то он изменит своё состояние после разблокирования кластера.
Пример привожу. Нажимаем на Boolean -> блокируем кластер -> ждем 3 секунды -> разблокируем кластер.
Так вот, если в эти 3 секунды блокировки нажать на Boolean 2 - то он почему-то меняет своё состояние после разблокирования.
С ссылкой на элемент такая же история.
Это нормальное явление?
LabVIEW 2014 x64.
Disable and Grayed Out
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Disable and Grayed Out
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Disable and Grayed Out
По-видимому, пока вы находитесь в обработчике событий кластера, другие события (такие как клик по элементу кластера) не могут обработаться и копятся в очереди событий. Чтобы этого не происходило, нужно организовать задержку вне обработчика (например, по тайм-ауту структуры), тогда прочие события будут обрабатываться.
- Вложения
-
- Untitled 1.vi
- lv2011
- (10.16 КБ) 128 скачиваний
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Disable and Grayed Out
На Linux LabVIEW 2010 ситуация аналогична, я попробовал поиграть свойствами mechanical action, что никак не повлияло на результат.Vitekkz88 писал(а):Это нормальное явление?
LabVIEW 2014 x64.
Причем это не получится отловить даже через Discard?, т.к. Event Structure тормозится Wait.
И самое интересное, что оно даже так меняется что в принципе противоречит DataFlow
Это видимо и есть причина:
Т.е. нажатие на кнопку регистрируется уже после присвоения Value.dadreamer писал(а):По-видимому, пока вы находитесь в обработчике событий кластера, другие события (такие как клик по элементу кластера) не могут обработаться и копятся в очереди событий.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Disable and Grayed Out
dadreamer
Чтобы этого не происходило, нужно организовать задержку вне обработчика
Спасибо за проявленный интерес!IvanLis
На Linux LabVIEW 2010 ситуация аналогична, я попробовал поиграть свойствами mechanical action, что никак не повлияло на результат.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 5 Ответы
- 847 Просмотры
-
Последнее сообщение dadreamer