Promotic
WikipediaLinkedInYoutubeTwitterFacebook

onStep - zdarzenie objektu PmSequencer

Opis:
Zdarzenie jest wywołane kiedy pozycja zostanie zwolniona.
Parametry:
pMe(Object) Odniesienie do PROMOTIC obiektu, w którym doszło do danego zdarzenia.
pEvent(Object) Odniesienie do obiektu zawierającego ściślejsze informacje o danym zdarzeniu.
pEvent.ReleaseType - (Integer) Przyczyna zwolnienia elementu:
0 - pozycja nie czekała, tzn. w metodzie Add był timeout=0
1 - pozycja czekała a timeout wygasł
2 - pozycja czekała oraz została wywołana metoda Release
pEvent.ReleaseCancel - (Boolean) Domyślnie ustawione zawsze na false. Jeżeli zostanie ustawione na true, wtedy pozycja kontynuuje bez czekania (tylko jeżeli zdarzenie powstało w wyniku metody Release, tzn. jeżeli pEvent.ReleaseType=2).
pEvent.Val1 - (Variant) 1. wartość elementu.
pEvent.Val2 - (Variant) 2. wartość elementu.
pEvent.Val3 - (Variant) 3. wartość elementu.
Notatka:
Zdarzenie jest wywołane albo w głównym wątku lub w wątku roboczym. Zastowanie głównego lub roboczego wątku określa się w konfiguratorze Zastosowany wątek (thread) oraz parametrem Params metody Add.
 
Uwaga:

Obiekt PmSequencer jest unikalnym tym, że jego główne zdarzenie onStep może być wykonywane w głównym lub roboczym wątku ("thread:work;" lub "thread:main;"). Dlatego metody zostały wewnętrznie podwojone oraz zkompilowane jak w wątku głównym tak w roboczym. Jeżeli metoda zostanie wywołana z wątku roboczego, wtedy zostanie wykonana bezpośrednio w nim. W innych przypadkach identycznie jak w przypadku metod innych obiektówzostanie wykonana w wątku głównym.

To umożliwia proste tworzenie funkcji pomocniczych tak, by samo zdarzenie onStep mogło być bardziej przejżyste. Nawet podczas zmiennego wołania zdarzenia onStep w głównym lub roboczym wątku, zostanie wtedy automatycznie wywołana metoda w tymże wątku.

© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice