Столкнулся с неприятными моментами, связанными с использованием набора Input Device Control. Я использовал его для получения состояния кнопок мыши. Состояние кнопки мыши использовалось для сброса элементов управления (слайдеров) в момент отрыва пальца от сенсорного экрана. Так вот Acquire input data, помещенный в цикл программы может очень сильно тормозить этот цикл, причем время выполнения Acquire input data зависит от внешних причин, от обновления графической части операционки и лабвью, в частности, да Бог еще знает от чего. Даже когда нет видимых изменений экрана и нет взаимодействия с интерфейсом время выполнения Acquire input data постоянно меняется от единиц до десятков миллисекунд. При активном взаимодействии с интерфейсом данные задержки могут достигать секунд и вообще стопорить Acquire input data. Мне в моей ситуации пришлось отказаться от данного способа определения нажатого состояния мыши и положиться на события PaneMouseDown для взвода атрибута нажатого состояния кнопки мыши, а PaneMouseUp и PaneMouseLeave для сброса атрибута нажатого состояния мыши. Также пришлось В каждом месте, где вызывается модальное окно предварительно сбрасывать этот атрибут, так как во время выполнения модального окна предыдущее окно не обрабатывает событий. Несколько громоздко, но работает и не тормозит циклов.
Может есть иной способ определения нажотого состояния кнопок мыши?
Подводные камни Input Device Control
- Mifodiy1977
- beginner
- Сообщения: 47
- Зарегистрирован: 10 янв 2012, 14:00
- Версия LabVIEW: 11
- Контактная информация:
-
Jakob Brontfeyn
- expert
- Сообщения: 1729
- Зарегистрирован: 28 фев 2008, 11:01
- Награды: 6
- Благодарил (а): 1 раз
- Контактная информация:
Re: Подводные камни Input Device Control
Смотри примеры в форуме здесь
http://www.labviewportal.org/viewtopic. ... lit#p36772
и здесь
http://www.labviewportal.org/viewtopic. ... lit#p36778
может поможет решить проблему
http://www.labviewportal.org/viewtopic. ... lit#p36772
и здесь
http://www.labviewportal.org/viewtopic. ... lit#p36778
может поможет решить проблему
- Mifodiy1977
- beginner
- Сообщения: 47
- Зарегистрирован: 10 янв 2012, 14:00
- Версия LabVIEW: 11
- Контактная информация:
Re: Подводные камни Input Device Control
Хотелось бы знать, как могут помочь dll с нерасписанными функциями и запароленные vi? Не подскажите?
- Mifodiy1977
- beginner
- Сообщения: 47
- Зарегистрирован: 10 янв 2012, 14:00
- Версия LabVIEW: 11
- Контактная информация:
Re: Подводные камни Input Device Control
Если уж вы хотите помочь, так либо откройте код, либо скажите, что мне там могло бы помочь. Я в просмотрщике dll вижу только функцию определения позиции курсора мыши. Мне оно зачем? Мне нужно нажатие кнопки. Иерархия, о которой вы упомянули в указанном вами посте, ничего не говорит об источнике события нажатия кнопки мыши. Может это всё в одной функции dll, но вы хоть раскройте эту функцию
-
Jakob Brontfeyn
- expert
- Сообщения: 1729
- Зарегистрирован: 28 фев 2008, 11:01
- Награды: 6
- Благодарил (а): 1 раз
- Контактная информация:
Re: Подводные камни Input Device Control
Все, что в теме есть у меня...
Все в чем радость каждого дня...
Все в чем радость каждого дня...
- Вложения
-
- Mouse13.zip
- (34.58 КБ) 132 скачивания
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Подводные камни Input Device Control
Mifodiy1977
То же самое без пароля... :)
То же самое без пароля... :)
- Вложения
-
- in_touch.rar
- (85.86 КБ) 117 скачиваний
- Mifodiy1977
- beginner
- Сообщения: 47
- Зарегистрирован: 10 янв 2012, 14:00
- Версия LabVIEW: 11
- Контактная информация:
Re: Подводные камни Input Device Control
Спасибо. Вроде шустрая dll-ка. В основном время выполнения 1-2 миллисекунды, бывают пики до 60, но редко.
- Mifodiy1977
- beginner
- Сообщения: 47
- Зарегистрирован: 10 янв 2012, 14:00
- Версия LabVIEW: 11
- Контактная информация:
Re: Подводные камни Input Device Control
Вот интересно, если есть такая хорошая dll-ка, так почему ее не включили в стандартный набор labview? Лицензия не позволяет? Ну тогда сделали бы что-то похожее. Просто ихний инструмент из-за своей тормознутости вообще не годится и они ничего не делают. Странно
- Mifodiy1977
- beginner
- Сообщения: 47
- Зарегистрирован: 10 янв 2012, 14:00
- Версия LabVIEW: 11
- Контактная информация:
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение