Jak zrobić wyskakujące okienko informacyjne bez przycisków?

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
draqo
Posty: 13
Rejestracja: 09 maja 2011 15:09
Wersja środowiska: LabVIEW 2010

Jak zrobić wyskakujące okienko informacyjne bez przycisków?

Post autor: draqo »

Chciałbym zrobić coś na zasadzie okienka informacyjnego, które ma wyświetlać komunikat (np. "Trwa praca"), jednak bez żadnych przycisków do jego wyłączenia. Ma się wyświetlać tak długo, aż zaistnieje pewien warunek, np. zmiana True na False. Da radę coś takiego zrobić?
oczekp
Posty: 161
Rejestracja: 22 lis 2009 15:12
Wersja środowiska: LabVIEW 2010

Re: Jak zrobić wyskakujące okienko informacyjne bez przycisków?

Post autor: oczekp »

da się. Kliknij w front panelu na ikonkę w prawym górnym rogu prawym przyciskiem myszy Vi Proporties->Window Appearance i tam ustaw z Default na Dialog. Zaś w kodzie głównym daj jakąś pętlę while, która będzie się wykonywać, aż nie zostanie spełniony warunek.
PS. Jak nie chcesz też mieć możliwości zamknięciem przez x to kliknij Customize i tam odznacz Allow user to close window.
draqo
Posty: 13
Rejestracja: 09 maja 2011 15:09
Wersja środowiska: LabVIEW 2010

Jak zrobić wyskakujące okienko informacyjne bez przycisków?

Post autor: draqo »

Oczywiście tym wyskakującym okienkiem może być tylko subvi? Bo właśnie coś takiego udało mi się wymodzić przez Property Node. Przy sygnale True jest wczytywany subvi z powyłączanymi opcjami (jak to opisałeś), w momencie zmiany sygnału na False subvi zostaje zamknięty.
oczekp
Posty: 161
Rejestracja: 22 lis 2009 15:12
Wersja środowiska: LabVIEW 2010

Re: Jak zrobić wyskakujące okienko informacyjne bez przycisków?

Post autor: oczekp »

no i to jest dobry pomysł z tym subvi.
Hmm raczej tak. Zastanawiam się jak by można było inaczej zrobić. To przyszło mi do głowy, że możesz tego vi głównego zmieniać ustawienia, tak, żeby wyglądało na okno typu dialog za pomocą property node i np uruchomić niewidoczny wcześniej string indicator z napisem trwa obliczanie, a po obliczenia z powrotem powrócić do poprzednich ustawień i ukryć wcześniejszy indicator. Ale to jest sporo roboty i wydaje się zupełnie nieopłacalne. Rozwiązanie z subvi 100razy lepsze. Ewentualnie możesz zrobić tak, że na czas obliczeń wyświetlić właśnie tą kontrolkę z napisaem trwa obliczanie a resztę panelu frontowego ustawić jako nieaktywną, ale to też takie na upartego. Opcja z subvi jest najwygodniejsza i zdecydowanie najrozsądniejszym rozwiązaniem
draqo
Posty: 13
Rejestracja: 09 maja 2011 15:09
Wersja środowiska: LabVIEW 2010

Re: Jak zrobić wyskakujące okienko informacyjne bez przycisków?

Post autor: draqo »

Żeby temat miał sens, w załączniku aplikacja, która po naciśnięciu otwiera subvi na określony czas. Oczywiście warunkiem otwarcia subvi może być inna wartość. Może się komuś przyda.

Należy otworzyć main.vi (oba pliki powinny się znaleźć w tej samej lokalizacji oczywiście).
Załączniki
subvi.vi
(8.24 KiB) Pobrany 554 razy
main.vi
(11.36 KiB) Pobrany 522 razy
highpiotr
Posty: 6
Rejestracja: 11 lis 2014 02:29
Wersja środowiska: LabVIEW 2011

Re: Jak zrobić wyskakujące okienko informacyjne bez przycisków?

Post autor: highpiotr »

Witam,
Mam takie pytanie odnośnie powyższego starego tematu: Jak w rozwiązaniu zaproponowanym przez Draqo przesłać wartość liczbową wskaźnika "odliczanie" z okna subvi do okna głównego programu main?
Awatar użytkownika
Harnas
Posty: 152
Rejestracja: 16 mar 2011 09:56
Wersja środowiska: LabVIEW 2009

Jak zrobić wyskakujące okienko informacyjne bez przycisków?

Post autor: Harnas »

Przez Global Variable na przyklad? Powinno przejsc.
Jamal79
Posty: 289
Rejestracja: 01 maja 2012 14:14
Wersja środowiska: LabVIEW 2012
Lokalizacja: Farum

Jak zrobić wyskakujące okienko informacyjne bez przycisków?

Post autor: Jamal79 »

Pytanie powinno brzmiec z jakim opoznieniem. Zawsze bedziesz mial problem z synchronizacja i trigerem.
Do czego chcesz to wykorzystac??
highpiotr
Posty: 6
Rejestracja: 11 lis 2014 02:29
Wersja środowiska: LabVIEW 2011

Re: Jak zrobić wyskakujące okienko informacyjne bez przycisków?

Post autor: highpiotr »

Z moich prób wynika, że zmiennych globalnych nie da się współdzielić między programem głównym oraz suvvi...czy się mylę?
Chciałbym wykorzystać wyskakujące okno do konfigurowania programu.
Wykonałem prosty program...jednak się zawiesza po naciśnięciu krzyżyka.
Opóźnienia są nieistotne...dane przesyłane są po kliknięciu przycisku "zatwierdź".
Prosiłbym o radę jak to rozwiązać najprościej?
Załączniki
subvi.vi
(7.13 KiB) Pobrany 378 razy
main.vi
(8.02 KiB) Pobrany 381 razy
Jamal79
Posty: 289
Rejestracja: 01 maja 2012 14:14
Wersja środowiska: LabVIEW 2012
Lokalizacja: Farum

Jak zrobić wyskakujące okienko informacyjne bez przycisków?

Post autor: Jamal79 »

heh, nie rozumiem, umnie to dziala jak nalezy... a harnas i ja raczej myslelismy o przesylaniu danych live...
highpiotr
Posty: 6
Rejestracja: 11 lis 2014 02:29
Wersja środowiska: LabVIEW 2011

Re: Jak zrobić wyskakujące okienko informacyjne bez przycisków?

Post autor: highpiotr »

U mnie po naciśnięciu krzyżyka okna programu, program przestaje reagować na przyciski.
https://www.youtube.com/watch?v=egtvVThnJug
Co może być przyczyną?
Awatar użytkownika
Harnas
Posty: 152
Rejestracja: 16 mar 2011 09:56
Wersja środowiska: LabVIEW 2009

Jak zrobić wyskakujące okienko informacyjne bez przycisków?

Post autor: Harnas »

Nacisniecie na "X" nie zatrzymuje SubVI tylko zamyka Frontpanel. SubVI dalej w tle sobie chodzi bo petla While nie zostala zatrzymana. Tym samym w main.vi mozesz przyciskac co chcesz, nic to nei zmieni bo program wisi caly czas w subViu.
Jamal79
Posty: 289
Rejestracja: 01 maja 2012 14:14
Wersja środowiska: LabVIEW 2012
Lokalizacja: Farum

Jak zrobić wyskakujące okienko informacyjne bez przycisków?

Post autor: Jamal79 »

ale mozesz ukryc panel menue i "X". Takze pozostana ci tylko do wyboru twoje dwa buttony...
highpiotr
Posty: 6
Rejestracja: 11 lis 2014 02:29
Wersja środowiska: LabVIEW 2011

Re: Jak zrobić wyskakujące okienko informacyjne bez przycisków?

Post autor: highpiotr »

Ukrycie X jest dobrym pomysłem- jest to jednak półśrodek. Można w jakiś sposób monitorować czy został użyty X w oknie subvi i na tej podstawie zatrzymać pętlę?
TMa
Posty: 203
Rejestracja: 07 sty 2010 12:56
Wersja środowiska: LabVIEW 2017

Re: Jak zrobić wyskakujące okienko informacyjne bez przycisków?

Post autor: TMa »

Jednym ze sposobów jest użycie zdarzenie "Panel Close?" w Event Structure. Spojrzyj tutaj
ODPOWIEDZ