Zamkniecie panelu nie zamyka programu

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
Awatar użytkownika
rivui
Posty: 27
Rejestracja: 01 lut 2010 16:50
Wersja środowiska: LabVIEW 8.5
Lokalizacja: Kopenhaga

Zamkniecie panelu nie zamyka programu

Post autor: rivui »

Witam!

Mam oto nastepujacy problem. Stworzylem program gdzie uzywajac run-time menu uzytkownik moze odpalic rozne Sub-VI oferujace rozne opcje.
Problem pojawia sie gdy uzytkownik zamknie (poprzez nacisniecie krzyzyka w gornym prawym rogu) panel. Wtedy program znika ale sam program zostaje i nie ma mozliwosci operowania "oryginalnym" oknem.

Moge problem obejsc stosujac Event Structure i Panel Close? even gdzie uzywam Discard i po prostu normalnie koncze petle jednakze wydaje sie to za duze obejscie. Czy jest jakies prostsze rozwiazanie?

Pozdrawiam,
Michal
Awatar użytkownika
skoziate
Administrator
Posty: 245
Rejestracja: 06 mar 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Warszawa
Kontakt:

Re: Zamkniecie panelu nie zamyka programu

Post autor: skoziate »

Najprostszym rozwiązaniem jest wyszarzenie X w rogu (VI Properties > Window Appearance).

Możesz oczywiście obsługiwać zdarzenie wciśnięcia przycisku X. Discard typowo jest wtedy używany, jeśli chcesz na przykład wyświetlić okno dialogowe "Czy na pewno?" i wtedy w zależności od odpowiedzi robisz Discard albo nie. No i oczywiście jeśli odpowiedź jest "Tak" to należy zatrzymać wszystkie pętle, żeby VI zakończył działanie.

Jeśli dodatkowo to działa w EXE, to należy wywołać funkcję Quit LabVIEW.

Jeśli nie wyszarzysz X i nie obsłużysz zdarzenia jego wciśnięcia, to front panel zniknie, ale aplikacja będzie działała dalej.
Pozdrawiam,
Sebastian
Awatar użytkownika
rivui
Posty: 27
Rejestracja: 01 lut 2010 16:50
Wersja środowiska: LabVIEW 8.5
Lokalizacja: Kopenhaga

Re: Zamkniecie panelu nie zamyka programu

Post autor: rivui »

Czyli w skrócie muszę obsługiwać event. Nie ma innego automatycznego sposobu gdzie naciśnięcie 'X' spowoduje 'twarde' zamknięcie aplikacji kończąc wszystkie pętle etc.

Dziękuje za szybką odpowiedź!
Awatar użytkownika
skoziate
Administrator
Posty: 245
Rejestracja: 06 mar 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Warszawa
Kontakt:

Re: Zamkniecie panelu nie zamyka programu

Post autor: skoziate »

Innego sposobu nie ma. Ty decydujesz o zachowaniu okna przez obsługę zdarzeń. Ale w sumie to tylko jeden dodatkowy event do obsługi, więc chyba nie katastrofa.
Pozdrawiam,
Sebastian
ODPOWIEDZ