Strona 1 z 1
zamykanie programu EXE
: 29 kwie 2010 22:55
autor: santiago
Witam!!
Jak zrobić aby zamykając program EXE za pomocą "X" program zatrzymywał pętle While Loop, tak jakbym wciskał przycisk STOP oraz wykonywał tą część, która jest poza pętlą (np zamknięcie portu).
POZDRAWIAM!!
zamykanie programu EXE
: 29 kwie 2010 23:01
autor: Pitol
wykorzystaj Event: Panel Close? gdzie podpinasz Discard na True i terminator pętli też na True. Spowoduje to, że Panel nie zostanie zamknięty a pętla się skończy i kod za pętlą zostanie wykonany (jeśli chcesz zamknąć panel będziesz musiał to zrobić teraz programowo: patrz na rysunek)
Re: zamykanie programu EXE
: 03 maja 2010 18:50
autor: santiago
Witam!
Zrobiłem jak radzi kolega, niestety nie działa. Również i pętla nie działa nie wiedzieć czemu.
W zamyśle powinno funkcjonować to w taki sposób, aby w trakcie działania programu można było zmieniać wartość liczbową, a po zamknięciu programu wartość ta była zapamiętywana.
W załączniku plik i screen.
POZDRAWIAM!!
Re: zamykanie programu EXE
: 03 maja 2010 21:01
autor: Pitol
pętla nie działa ze względu na strukturę event, która czekając na obsługę zdarzeń blokuje pętlę While. Aby Twoja pętla działała (kręciła się non-stop) możesz np. podpiąć wejście Timeout (lewy górny róg struktury Event, ustaw powiedzmy na 50) i obsłużyć zdarzenie Timeout. Wtedy pętla będzie odświeżała się co 50ms.
Re: zamykanie programu EXE
: 03 maja 2010 21:05
autor: coolfon
santiago pisze: Również i pętla nie działa nie wiedzieć czemu
Pętla jak najbardziej działa! Po prostu czeka, aż 'wykona się' jej cała zawartość, w tym struktura Event. Ta z kolei czeka na jakiś event właśnie. Odpal sobie swój VI z włączoną opcją
Highlight Execution (żarówka) to zobaczysz jak się program zachowuje.
Ogólnie rzecz biorąc, strukturę Event powinno się wrzucać do pętli While solo, bez dodatkowych elementów.
Aha... Czemu tak bardzo komplikujesz odczyt/zapis do pliku? Koniecznie potrzebujesz
Open/Create/Replace File oraz
Set File Position.
Re: zamykanie programu EXE
: 03 maja 2010 21:43
autor: santiago
OK!
Z "Timeout" działa
Ale kombinując zrobiłem jeszcze trochę inaczej, jednakże też nie bardzo chce działać

(załączniki)
"Czemu tak bardzo komplikujesz odczyt/zapis do pliku" - bo tak umiałem

Może jakaś sugestia jak prościej??
POZDRAWIAM!!
Re: zamykanie programu EXE
: 03 maja 2010 21:51
autor: Pitol
teraz to przesadziłeś

wsadź strukturę Event do pętli While z powrotem to będzie działać (nie zapomnij o Timeout)
albo wróć do poprzedniej koncepcji:
EDIT:
nie przejmuj się tymi referencjami, LV2009 przy robieniu zrzutów ekranu generuje takie kwiatki
tak na przyszłość podawaj wersję LV z której korzystasz. Pozwoli to zapisywać przykłady dla Ciebie w odpowiedniej wersji. Nie podałeś wersji = przerysowuj sobie ze screena

Re: zamykanie programu EXE
: 04 maja 2010 19:10
autor: santiago
OK! Ze strukturą Event - w pętli działa, ale niestety nie tak jak tego oczekiwałem. A mianowicie po utworzeniu pliku EXE, aby zamknąć program muszę dwa razy kliknąć na "X". Gdy klikam raz program po prostu się zatrzymuje, przy drugim kliknięciu zamyka się. Jak zrobić, żeby całość załatwić jednym kliknięciem????
zamykanie programu EXE
: 04 maja 2010 19:21
autor: coolfon
A dałeś metodę (Invoke Node) FP.Close na końcu? Wrzuć swój VI (plik, nie obrazek).
Re: zamykanie programu EXE
: 04 maja 2010 19:36
autor: santiago
W załączniku plik

LabView wersja 8.5
zamykanie programu EXE
: 04 maja 2010 19:53
autor: Pitol
spójrz na to co w pierwszej odpowiedzi Ci podesłałem. Tak jak coolfon napisał -> Metodę FP.Close należy zapiąć po wykonaniu wszystkich czynności.
Re: zamykanie programu EXE
: 04 maja 2010 19:55
autor: coolfon
No to przecież pytałem przed chwilą...
coolfon pisze:A dałeś metodę (Invoke Node) FP.Close na końcu?
Pitol już w pierwszym swoim poście Ci pokazał jak to zrobić. Przecież coś ten Front Panel musi zamknąć. FP.Close => Front Panel Close.
Re: zamykanie programu EXE
: 04 maja 2010 20:04
autor: Pitol
Jakbyś nie wiedział jak dorwać się do FP.Close to tutaj masz mapę:
Paleta Application Control -> Invoke Node, potem prawym na nią i:
a potem:
Re: zamykanie programu EXE
: 04 maja 2010 20:19
autor: santiago
Czytasz w myślach

bo nie wiedziałem jak to zrobić...
Serdecznie dziękuję za pomoc!!!