Здравствуйте.
Подскажите, пожалуйста, как решить следующую проблему. Реализую многооконное приложение. На главном окне как обычно название, основные кнопки, дата и текущее время. Так вот, когда я запускаю другое окно, то на главном окне зависает отображение текущего времени. это так и должно быть или я что-то неправильно делаю? LV у меня 2013. Скрин запуска другого окна из главного:
Прошу подсказать.
Многооконное приложение
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Re: Многооконное приложение
так и должно быть потому что вы неправильно делаете :)
пока диалоговое окно (функция) не завешит работу, программа не пойдёт дальше.
Для параллельной работы нужно вынести все окна за пределы основного цикла, и по очередям/событиям отправлять им команды на открытие.
Вторй вариант - асинхронный вызов по ссылке.
пока диалоговое окно (функция) не завешит работу, программа не пойдёт дальше.
Для параллельной работы нужно вынести все окна за пределы основного цикла, и по очередям/событиям отправлять им команды на открытие.
Вторй вариант - асинхронный вызов по ссылке.
-
- developer
- Сообщения: 257
- Зарегистрирован: 03 янв 2014, 19:37
- Версия LabVIEW: 2016
- Откуда: Украина, Киев
- Контактная информация:
Re: Многооконное приложение
ну, это вы так сделали. верхнего уровня ждёт, пока , вызванный вами в ивент-структуре, закончит свою работу. Цикл стоит.
Если вам надо, чтобы два окна работали одновременно, вам надо устраивать работу параллельных циклов.
Можно по-разному делать. Либо динамически вызывать , либо делать машину состояний, в которой вызывать дополнительные окна (не очень подходит, если окон надо больше двух)
Если вам надо, чтобы два окна работали одновременно, вам надо устраивать работу параллельных циклов.
Можно по-разному делать. Либо динамически вызывать , либо делать машину состояний, в которой вызывать дополнительные окна (не очень подходит, если окон надо больше двух)
колдооооовствооооо! (С)
-
- beginner
- Сообщения: 46
- Зарегистрирован: 15 окт 2014, 07:27
- Версия LabVIEW: 2013
- Контактная информация:
Re: Многооконное приложение
Спасибо.
Я решила поступить проще - вынесла в параллельный цикл вывод текущего времени, потому что пока работает вторичное окно, в главном ничего отслеживать не надо. Все получилось.
Я решила поступить проще - вынесла в параллельный цикл вывод текущего времени, потому что пока работает вторичное окно, в главном ничего отслеживать не надо. Все получилось.
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Re: Многооконное приложение
Это один из вариантов. Но если вы захотите запараллелить больше окон с возможностью работать одновременно во всех, то придётся менять архитектуру.Elen писал(а):Спасибо.
Я решила поступить проще - вынесла в параллельный цикл вывод текущего времени, потому что пока работает вторичное окно, в главном ничего отслеживать не надо. Все получилось.