Асинхронное диалоговое окно

Обсуждение, связанное с разработкой ПО верхнего уровня
Ответить
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Асинхронное диалоговое окно

Сообщение Chupakabra »

А нет ли способа создать простое диалоговое окно (в частности просто info с кнопкой ок), которое работало бы асихронно, не останавливая выполнение программы? Не привлекая vi server.
toto

Activity Gold Black
professional
professional
Сообщения: 390
Зарегистрирован: 07 мар 2008, 09:26
Награды: 3
Версия LabVIEW: 6i-16
Откуда: Санкт-Петербург
Контактная информация:

Re: Асинхронное диалоговое окно.

Сообщение toto »

Да, это возможно. Создаем VI запускаемую при запуске программы и например нотифаером передаем ей сообщение, при получинии сообщенияя вишка вызывает сама на себя свойство Show Front Panel, а по нажатию на ОК прячет интерфейс и переходит в ожидание нового нотифаера (или сообщения в очередь - если нельзя пропускать сообщения пока открыто окно).
Аватара пользователя
Jakob Brontfeyn

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

Re: Асинхронное диалоговое окно.

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

А ведь, в принципе, можно и так
Вложения
Info_v_menu.zip
(6.87 КБ) 155 скачиваний
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Re: Асинхронное диалоговое окно.

Сообщение Chupakabra »

toto писал(а):Да, это возможно. Создаем VI запускаемую при запуске программы и например нотифаером передаем ей сообщение, при получинии сообщенияя вишка вызывает сама на себя свойство Show Front Panel, а по нажатию на ОК прячет интерфейс и переходит в ожидание нового нотифаера (или сообщения в очередь - если нельзя пропускать сообщения пока открыто окно).
Тоже вариант, но я наверно всеже к VI-server вернусь. Думал может быть через WinAPI такое можно провернуть, наверно можно, но времени нет искать :(

Кстати, вопрос тоже в тему. Допустим есть основной VI и из него через vi-server вызывается информационное окошко, как сделать чтобы это окно закрывалось, если вдруг родительское окно завершает свое выполнение?
Передавать в дочернее окно референс основного и в дочернем отслеживать состояние родительского или есть вариант попроще?
toto

Activity Gold Black
professional
professional
Сообщения: 390
Зарегистрирован: 07 мар 2008, 09:26
Награды: 3
Версия LabVIEW: 6i-16
Откуда: Санкт-Петербург
Контактная информация:

Re: Асинхронное диалоговое окно

Сообщение toto »

Я вообще организую программу так, что у меня все модули (вишки работающие непрерывно во время выполнения программы) связаны USER EVENTOM для отсылки сообщений друг другу, и когда идет закрытие я посылаю команду EXIT все активные VI ее получают и завершают работу.
Ответить

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