Otwieranie podprogramów z Run-Time Menu oraz Event Structure
Otwieranie podprogramów z Run-Time Menu oraz Event Structure
Witam! Jestem w trakcie tworzenia aplikacji, która z persfektwy intefejsu docelowo składać się ma z okna głównego oraz wywoływanych z jego poziomu podprogramów. Podprogamy otwierane są przy pomcy "paska menu". Sprawę rozwiązałem początkowo przy pomocy Case`a zagnieżdzonego w While Loop`ie oraz otwieraniu VI`ow przez referencje. No i wszystko wskazywało na to że program działa OK do czasu kiedy spróbowałem otworzyć dwa podprogramy jednoczesnie. Kolejny otwierał się dopiero po zamknięciu poprzedniego albo blokował okno programu głównego od czasu zamknięcia podprogramu. Czy jest na to jakies rozwiązanie ? Myślałem o Event Structure, ale otworzyłem jeden z przykładów Menu Selection with Events.vi i spotałem się z takim samym działaniem. Zamieszczam w załączniku diagram programu głównego. Z góry dziękuję za pomoc. Pozdrawiam
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Otwieranie podprogramów z Run-Time Menu oraz Event Stru
Event Structure jak najbardziej do przechwycenia zdarzeń z menu, a do odpalenia podprogramów użyj metody (Invoke Node) Run VI. Oczywiście do wejścia Wait Until Done podpinasz FALSE.
Pozdrawiam
Pozdrawiam
Re: Otwieranie podprogramów z Run-Time Menu oraz Event Stru
Ok działa, ale mam kolejny problem. Musze zastosować zabezpieczenie przed próbą dwukrotnego uruchomienia tego samego podprogramu. Chciałem to zrobić przez zablokowanie fragentu menu przy pomocy Set Menu Item Info jednak do tego celu potrzebuje informacji o tym czy dany VI jest aktualnie uruchomiony oraz kiedy zostaje zamnkięty, aby ponownie umożliwić jego uruchomienie z menu programu głównego.
W jaki sposób mozna by to zrealizowac ??
W jaki sposób mozna by to zrealizowac ??
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Otwieranie podprogramów z Run-Time Menu oraz Event Stru
Wśród własności VIaja jest Execution -> State zwracająca stan w jakim znajduje się dany VI. W szczególności czy działa w danym momencie czy nie.