Добрый день. Помогите пожалуйста разобраться с такой темой, как обоработка событий.
Создано основное меню (VI 1) из которого вызывается основное приложение (VI 2).
В VI 2 я выставляю необходимые параметры и запускаю обработку при помощи Event Structure.
Но мне также необходимо иметь возможность вернуться в главное меню и вызвать еще несколько VI по завершению работы главного цикла или перед ним.
Возможно ли сделать так, чтобы Event Structure обрабатывал события не единоразово, а при каждом обращении к нему? Или для этого его необходимо вложить в цикл?
Структура моего VI 2 выглядит так:
Меню, обработка событий.
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Меню, обработка событий.
структура и так обрабатывает (НАКАПЛИВАЕТ) события до тех пор, пока приложение запущено.WSLB60 писал(а): Возможно ли сделать так, чтобы Event Structure обрабатывал события не единоразово, а при каждом обращении к нему?
Для проверки нажмите Run второй раз, приложение "зависнет" - событие "поймано" и структура ждёт, когда сможет на него среагировать.
А вот реакция происходит при очередном обращении, для этого как раз нужен цикл.
И нет смысла городить две структуры, лучше сделать одну в цикле и в ней обрабатывать все события (в разных кейсах).
Re: Меню, обработка событий.
Большое Вам спасибо. Совет помог.
Структура теперь выглядит вот так:
Правда, у меня довольно громоздкий внутренний цикл.
Возможно ли обойтись без внешнего цикла для решения подобной задачи? Или это проблематично?
Структура теперь выглядит вот так:
Правда, у меня довольно громоздкий внутренний цикл.
Возможно ли обойтись без внешнего цикла для решения подобной задачи? Или это проблематично?
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Меню, обработка событий.
WSLB60, вам надо развязать цикл обработки (G)UI и цикл генерации/обработки данных. Должно быть минимум два параллельных цикла. Связь между циклами выполняется через инструменты синхронизации. Почитайте, например, вот это сообщение: http://www.labviewportal.org/viewtopic. ... 332#p72332 Думаю, шаблон "Producer - Consumer" должен подойти в вашем случае. Пользуйтесь поиском, эта тема обсуждалась миллион раз здесь и на других порталах.
Кроме того, правила форума запрещают выкладывать изображения на сторонних ресурсах. Прикрепляйте ваши картинки к сообщению с помощью кнопки "Ответит" / "Цитата" и вкладки "Добавить вложения" под сообщением.
Кроме того, правила форума запрещают выкладывать изображения на сторонних ресурсах. Прикрепляйте ваши картинки к сообщению с помощью кнопки "Ответит" / "Цитата" и вкладки "Добавить вложения" под сообщением.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение