Disable and Grayed Out

Темы связанные с инженерными разработками, но не подходящие в другие ветки форума
Ответить
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Disable and Grayed Out

Сообщение Vitekkz88 »

Добрый день!
Столкнулся с следующей ситуацией:
По некоторому событию необходимо сделать недоступными элементы кластера. Использую свойство Disable and Grayed Out(вполне подходит и наглядно демонстрирует заблокированные элементы управления). Однако, если в процессе "блокировки" нажать на другой элемент - то он изменит своё состояние после разблокирования кластера.
Пример привожу. Нажимаем на Boolean -> блокируем кластер -> ждем 3 секунды -> разблокируем кластер.
Так вот, если в эти 3 секунды блокировки нажать на Boolean 2 - то он почему-то меняет своё состояние после разблокирования.
С ссылкой на элемент такая же история.
Это нормальное явление?
LabVIEW 2014 x64.
Вложения
disable.png
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Disable and Grayed Out

Сообщение dadreamer »

По-видимому, пока вы находитесь в обработчике событий кластера, другие события (такие как клик по элементу кластера) не могут обработаться и копятся в очереди событий. Чтобы этого не происходило, нужно организовать задержку вне обработчика (например, по тайм-ауту структуры), тогда прочие события будут обрабатываться.
Вложения
Untitled 1.vi
lv2011
(10.16 КБ) 128 скачиваний
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Disable and Grayed Out

Сообщение IvanLis »

Vitekkz88 писал(а):Это нормальное явление?
LabVIEW 2014 x64.
На Linux LabVIEW 2010 ситуация аналогична, я попробовал поиграть свойствами mechanical action, что никак не повлияло на результат.
Причем это не получится отловить даже через Discard?, т.к. Event Structure тормозится Wait.

И самое интересное, что оно даже так меняется :crazy:
1.png
что в принципе противоречит DataFlow :suicide:

Это видимо и есть причина:
dadreamer писал(а):По-видимому, пока вы находитесь в обработчике событий кластера, другие события (такие как клик по элементу кластера) не могут обработаться и копятся в очереди событий.
Т.е. нажатие на кнопку регистрируется уже после присвоения Value.
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Disable and Grayed Out

Сообщение Vitekkz88 »

dadreamer
Чтобы этого не происходило, нужно организовать задержку вне обработчика
IvanLis
На Linux LabVIEW 2010 ситуация аналогична, я попробовал поиграть свойствами mechanical action, что никак не повлияло на результат.
Спасибо за проявленный интерес!
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Общие»