Многооконное приложение

Простейшие вопросы в области инженерной разработки
Ответить
Elen
beginner
beginner
Сообщения: 46
Зарегистрирован: 15 окт 2014, 07:27
Версия LabVIEW: 2013
Контактная информация:

Многооконное приложение

Сообщение Elen »

Здравствуйте.

Подскажите, пожалуйста, как решить следующую проблему. Реализую многооконное приложение. На главном окне как обычно название, основные кнопки, дата и текущее время. Так вот, когда я запускаю другое окно, то на главном окне зависает отображение текущего времени. это так и должно быть или я что-то неправильно делаю? LV у меня 2013. Скрин запуска другого окна из главного:
Скрин.png
Прошу подсказать.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Многооконное приложение

Сообщение Artem.spb »

так и должно быть потому что вы неправильно делаете :)
пока диалоговое окно (функция) не завешит работу, программа не пойдёт дальше.
Для параллельной работы нужно вынести все окна за пределы основного цикла, и по очередям/событиям отправлять им команды на открытие.
Вторй вариант - асинхронный вызов по ссылке.
AlexanderKonoval
developer
developer
Сообщения: 257
Зарегистрирован: 03 янв 2014, 19:37
Версия LabVIEW: 2016
Откуда: Украина, Киев
Контактная информация:

Re: Многооконное приложение

Сообщение AlexanderKonoval »

ну, это вы так сделали. :vi: верхнего уровня ждёт, пока :vi: , вызванный вами в ивент-структуре, закончит свою работу. Цикл стоит.

Если вам надо, чтобы два окна работали одновременно, вам надо устраивать работу параллельных циклов.

Можно по-разному делать. Либо динамически вызывать :vi: , либо делать машину состояний, в которой вызывать дополнительные окна (не очень подходит, если окон надо больше двух)
колдооооовствооооо! (С)
Elen
beginner
beginner
Сообщения: 46
Зарегистрирован: 15 окт 2014, 07:27
Версия LabVIEW: 2013
Контактная информация:

Re: Многооконное приложение

Сообщение Elen »

Спасибо.

Я решила поступить проще - вынесла в параллельный цикл вывод текущего времени, потому что пока работает вторичное окно, в главном ничего отслеживать не надо. Все получилось.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Многооконное приложение

Сообщение Artem.spb »

Elen писал(а):Спасибо.

Я решила поступить проще - вынесла в параллельный цикл вывод текущего времени, потому что пока работает вторичное окно, в главном ничего отслеживать не надо. Все получилось.
Это один из вариантов. Но если вы захотите запараллелить больше окон с возможностью работать одновременно во всех, то придётся менять архитектуру.
Ответить

Вернуться в «Для чайников»