Завершение работы приложения "по человечески"

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
jane_wild
master
master
Сообщения: 461
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 84 раза
Поблагодарили: 15 раз
Контактная информация:

Завершение работы приложения "по человечески"

Сообщение jane_wild »

И снова здравствуйте. В RTE после закрытия приложения, оно остается висеть в фоне, это видно запустив диспетчер устройств.
Не понимаю почему? Ошибок ведь никаких не возникает. Приходится применять вот это, это нормально?
Exit Lv.JPG
Exit Lv.JPG (16.4 КБ) 1112 просмотров
Artem.spb

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

Re: Завершение работы приложения "по человечески"

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

Я считаю что нормально :)
Только я проверку немного иначе делаю.
Ещё есть вариант закрыть окно (самое "главное"), но я не уверен, что это работает, по крайней мере, у меня с давних пор сложилось такое мнение, и с тех пор я не проверял это.
finish.png
finish.png (13.25 КБ) 1106 просмотров
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Завершение работы приложения "по человечески"

Сообщение dadreamer »

Я тоже не вижу криминала. По большому счёту даже не является обязательной выгрузка библиотек и закрытие хэндлов перед завершением работы процесса - ОС сама всё выгрузит и закроет как надо.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Завершение работы приложения "по человечески"

Сообщение Borjomy_1 »

Просто для закрытия основного окна требуется вызывать This VI->FrontPanel->Close, что эквивалентно нажатию на крестик закрытия окна, а также обеспечить остановку всех циклов и VI. В Event структуре отлавливается момент инициирования закрытия, т.е возникает событие "Panel Close?", где можно вызвать диалог подтверждения желания закрытия и при необходимости его отменить (подав True на выход Discard). Если закрытие разрешено, то возникает событие "Panel Close", где можно отдать команды на завершение остальных циклов и VI и также остановить цикл, в котором крутится Event структура.
Чтобы VI не закрывалась в процессе разработки, ее следует обернуть в Conditional Disable Structure
Безусловное закрытие окна после выполнения цикла
Безусловное закрытие окна после выполнения цикла
Закрытие только в RTE
Закрытие только в RTE
Закрытие панели при выполнении1.png (3.74 КБ) 1097 просмотров
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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