Strona 1 z 1

Dzialanie przycisku STOP w Maszynie stanu

: 08 mar 2013 14:35
autor: diordna
Czesc,

mam taki problem. Moj program jest oparty na maszynie stanu, w momencie, gdy jestem, w np. petli while, w ktoryms ze stanow, i wciskam przycisk STOP (ktory jest podpiety do stopu glownej petli while) zmienna lokalna tego przycisku STOP jest podpieta do stopu wyzej wymienionej petli while, program zawiesz sie. Slyszalam, ze jest to wlasnie problem w Maszynie stanu. Program jest dosc rozbudowany, dzieje sie tak nie w jednym miejscu. Dokladnie chodzi mi o to, czy jest jakis sposob w maszynie stanu, zeby glowny przycisk STOP konczyl prace calej aplikacji, niezaleznie od tego, w ktorym momencie dzialania programu zostanie wcisniety wlasnie ten przycisk STOP. Ja oparlam sie na zmiennej lokalnej tego przycisku. Czy masz jakis inny, lepszy pomysl?

Re: Dzialanie przycisku STOP w Maszynie stanu

: 08 mar 2013 14:49
autor: Koss
Podłącz przycisk STOP bezpośrednio.

Chyba że problem jest bardziej złożony, ale wtedy musielibyśmy kod zobaczyć.

Pozdrawiam!

Dzialanie przycisku STOP w Maszynie stanu

: 09 mar 2013 07:43
autor: Nowszy
Cześć

Faktycznie, musielibyśmy zobaczyć twój kod. Jeżeli jest to jednak VI z pojedynczą maszyną stanów, to najlepiej byłoby zrobić jeden stan, w którym będzie sprawdzane, czy użytkownik nie nacisnął stop - i w takim wypadku zatrzymujesz całość. Wtedy nie potrzeba żadnych zmiennych lokalnych. Jeśli w niektórych stanach masz pętle, które wykonują się dłuższą ilość czasu to najlepiej wyrzucić te pętle do osobnych wątków (pętli) - równoległych do twojej maszyny stanów.