Strona 1 z 1

Błąd związany ze strukturą event "wieszającą" Front Panel

: 18 cze 2009 09:09
autor: 2czap
Witam wszystkich, przy okazji pracy nad jednym z projektem natknąłem się na pewien problem związany ze strukturą event wieszającą front panel VI-ja.
Block diagram: Obrazek
Po zakończeniu pętli z eventem, struktura event nie powinna już reagować na zdarzenia. Niestety, choć nie powinna, to reaguje i przy okazji wiesza front panel VI-ja.
Oczywiście istnieje możliwość innej budowy kodu programu lub odznaczenia w strukturze event opcji "Lock front panel until the event case for this event completes", chociaż taka praktyka jest nieodpowiednia z punktu widzenia wydajności programu.
Zatem nie chodzi mi o uzyskanie podpowiedzi jak ten problem ominać, lecz raczej o zgłoszenie takiego problemu na forum. Proszę o opinie na temat tego błędu.
Plik VI w załączniku posta.

Błąd związany ze strukturą event "wieszającą" Front Panel

: 18 cze 2009 09:26
autor: Mikrobi
Widzę to działanie trochę innaczej: event ma zdeklarowane trzy zdarzenia: 1. stop Value Change 2. LED Button Mouse Enter 3. LED Button Value Change
Wywolanie eventu rejestruje te zdarzenia na styku systemu i środowiska.
Jeśli zdarzenia się pojawiają - zostaja wstawione do kolejki i czekaja na obsługę. Tak dlugo jak VI jest w pamięci mechanizm struktury event obsługujący zdarzenia jest aktywny.
Zatem: Jesli zatrzymasz pętlę z eventem nie znaczy że wyrejestrowałeś te trzy zdarzenia z pamięci. Jednak sterowanie już wyszło z petli while zawierającej event.
Zdarzenie jest i czeka na obsługę, jednak tak długo jak obsługa nie nastepuje panel nie dopuści do kolejnego zdarzenia na interfejsie bo aktywne jest pole w edytorze zdarzeń "Lock front panel until the event case for this event complets". To nie pozwala zareagować na drugi przycisk STOp zatrzymujący drugą pętlę.
Moim zdaniem to jest prawidłowe (jednak) działanie mechanizmu obsługującego zdarzenia - struktury event.

Błąd związany ze strukturą event "wieszającą" Front Panel

: 18 cze 2009 22:00
autor: 2czap
Ok, dziękuje za wytłumaczenie.

Re: Błąd związany ze strukturą event "wieszającą" Fron

: 19 cze 2009 18:26
autor: kisiel
Witam.

Właściwość 'Lock front panel until the event case for this event completes' ma zasadnicze znaczenie przy korzystaniu z Filter Events. Zapewnia ona wewnętrzną spójność danych do czasu zakończenia obsługi zdarzenia.