Подводные камни Input Device Control

Обсуждение, связанное с разработкой ПО верхнего уровня
Ответить
Аватара пользователя
Mifodiy1977
beginner
beginner
Сообщения: 47
Зарегистрирован: 10 янв 2012, 14:00
Версия LabVIEW: 11
Контактная информация:

Подводные камни Input Device Control

Сообщение Mifodiy1977 »

Столкнулся с неприятными моментами, связанными с использованием набора Input Device Control. Я использовал его для получения состояния кнопок мыши. Состояние кнопки мыши использовалось для сброса элементов управления (слайдеров) в момент отрыва пальца от сенсорного экрана. Так вот Acquire input data, помещенный в цикл программы может очень сильно тормозить этот цикл, причем время выполнения Acquire input data зависит от внешних причин, от обновления графической части операционки и лабвью, в частности, да Бог еще знает от чего. Даже когда нет видимых изменений экрана и нет взаимодействия с интерфейсом время выполнения Acquire input data постоянно меняется от единиц до десятков миллисекунд. При активном взаимодействии с интерфейсом данные задержки могут достигать секунд и вообще стопорить Acquire input data. Мне в моей ситуации пришлось отказаться от данного способа определения нажатого состояния мыши и положиться на события PaneMouseDown для взвода атрибута нажатого состояния кнопки мыши, а PaneMouseUp и PaneMouseLeave для сброса атрибута нажатого состояния мыши. Также пришлось В каждом месте, где вызывается модальное окно предварительно сбрасывать этот атрибут, так как во время выполнения модального окна предыдущее окно не обрабатывает событий. Несколько громоздко, но работает и не тормозит циклов.
Может есть иной способ определения нажотого состояния кнопок мыши?
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

Re: Подводные камни Input Device Control

Сообщение Jakob Brontfeyn »

Смотри примеры в форуме здесь
http://www.labviewportal.org/viewtopic. ... lit#p36772
и здесь
http://www.labviewportal.org/viewtopic. ... lit#p36778

может поможет решить проблему
Аватара пользователя
Mifodiy1977
beginner
beginner
Сообщения: 47
Зарегистрирован: 10 янв 2012, 14:00
Версия LabVIEW: 11
Контактная информация:

Re: Подводные камни Input Device Control

Сообщение Mifodiy1977 »

Хотелось бы знать, как могут помочь dll с нерасписанными функциями и запароленные vi? Не подскажите?
Аватара пользователя
Mifodiy1977
beginner
beginner
Сообщения: 47
Зарегистрирован: 10 янв 2012, 14:00
Версия LabVIEW: 11
Контактная информация:

Re: Подводные камни Input Device Control

Сообщение Mifodiy1977 »

Если уж вы хотите помочь, так либо откройте код, либо скажите, что мне там могло бы помочь. Я в просмотрщике dll вижу только функцию определения позиции курсора мыши. Мне оно зачем? Мне нужно нажатие кнопки. Иерархия, о которой вы упомянули в указанном вами посте, ничего не говорит об источнике события нажатия кнопки мыши. Может это всё в одной функции dll, но вы хоть раскройте эту функцию
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

Re: Подводные камни Input Device Control

Сообщение Jakob Brontfeyn »

Все, что в теме есть у меня...
Все в чем радость каждого дня...
Вложения
Mouse13.zip
(34.58 КБ) 132 скачивания
Аватара пользователя
dadreamer

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

Re: Подводные камни Input Device Control

Сообщение dadreamer »

Mifodiy1977

То же самое без пароля... :)
Вложения
in_touch.rar
(85.86 КБ) 117 скачиваний
Аватара пользователя
Mifodiy1977
beginner
beginner
Сообщения: 47
Зарегистрирован: 10 янв 2012, 14:00
Версия LabVIEW: 11
Контактная информация:

Re: Подводные камни Input Device Control

Сообщение Mifodiy1977 »

Спасибо. Вроде шустрая dll-ка. В основном время выполнения 1-2 миллисекунды, бывают пики до 60, но редко.
Аватара пользователя
Mifodiy1977
beginner
beginner
Сообщения: 47
Зарегистрирован: 10 янв 2012, 14:00
Версия LabVIEW: 11
Контактная информация:

Re: Подводные камни Input Device Control

Сообщение Mifodiy1977 »

Вот интересно, если есть такая хорошая dll-ка, так почему ее не включили в стандартный набор labview? Лицензия не позволяет? Ну тогда сделали бы что-то похожее. Просто ихний инструмент из-за своей тормознутости вообще не годится и они ничего не делают. Странно
Аватара пользователя
Mifodiy1977
beginner
beginner
Сообщения: 47
Зарегистрирован: 10 янв 2012, 14:00
Версия LabVIEW: 11
Контактная информация:

Re: Подводные камни Input Device Control

Сообщение Mifodiy1977 »

Уже прикрутил, все хорошо работает, большое спасибо
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Лицевая панель»