Асинхронное диалоговое окно
-
Chupakabra
- professional
- Сообщения: 360
- Зарегистрирован: 21 янв 2009, 10:50
- Награды: 1
- Версия LabVIEW: 2015
- Откуда: Москва
- Поблагодарили: 4 раза
- Контактная информация:
Асинхронное диалоговое окно
А нет ли способа создать простое диалоговое окно (в частности просто info с кнопкой ок), которое работало бы асихронно, не останавливая выполнение программы? Не привлекая vi server.
-
- professional
- Сообщения: 390
- Зарегистрирован: 07 мар 2008, 09:26
- Награды: 3
- Версия LabVIEW: 6i-16
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Асинхронное диалоговое окно.
Да, это возможно. Создаем VI запускаемую при запуске программы и например нотифаером передаем ей сообщение, при получинии сообщенияя вишка вызывает сама на себя свойство Show Front Panel, а по нажатию на ОК прячет интерфейс и переходит в ожидание нового нотифаера (или сообщения в очередь - если нельзя пропускать сообщения пока открыто окно).
-
Jakob Brontfeyn
- expert
- Сообщения: 1729
- Зарегистрирован: 28 фев 2008, 11:01
- Награды: 6
- Благодарил (а): 1 раз
- Контактная информация:
Re: Асинхронное диалоговое окно.
А ведь, в принципе, можно и так
- Вложения
-
- Info_v_menu.zip
- (6.87 КБ) 156 скачиваний
-
Chupakabra
- professional
- Сообщения: 360
- Зарегистрирован: 21 янв 2009, 10:50
- Награды: 1
- Версия LabVIEW: 2015
- Откуда: Москва
- Поблагодарили: 4 раза
- Контактная информация:
Re: Асинхронное диалоговое окно.
Тоже вариант, но я наверно всеже к VI-server вернусь. Думал может быть через WinAPI такое можно провернуть, наверно можно, но времени нет искать :(toto писал(а):Да, это возможно. Создаем VI запускаемую при запуске программы и например нотифаером передаем ей сообщение, при получинии сообщенияя вишка вызывает сама на себя свойство Show Front Panel, а по нажатию на ОК прячет интерфейс и переходит в ожидание нового нотифаера (или сообщения в очередь - если нельзя пропускать сообщения пока открыто окно).
Кстати, вопрос тоже в тему. Допустим есть основной VI и из него через vi-server вызывается информационное окошко, как сделать чтобы это окно закрывалось, если вдруг родительское окно завершает свое выполнение?
Передавать в дочернее окно референс основного и в дочернем отслеживать состояние родительского или есть вариант попроще?
-
- professional
- Сообщения: 390
- Зарегистрирован: 07 мар 2008, 09:26
- Награды: 3
- Версия LabVIEW: 6i-16
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Асинхронное диалоговое окно
Я вообще организую программу так, что у меня все модули (вишки работающие непрерывно во время выполнения программы) связаны USER EVENTOM для отсылки сообщений друг другу, и когда идет закрытие я посылаю команду EXIT все активные VI ее получают и завершают работу.