onStep - zdarzenie obiektu PmaSequencer
Opis:
Zdarzenie zostanie wywołane kiedy pozycja zostanie zwolniona.
Parametry:
pMe | (Object) Odniesienie do PmaSequencer obiektu, w którym dane zdarzenie powstaje. |
pEvent | (Object) Odniesienie do obiektu zawierającego ściślejsze informacje o danym zdarzeniu.
pEvent.ReleaseType - ( Long) [ do odczytu] Przyczyna zwolnienia pozycji:
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) [ do odczytu i zapisu] Domyślną wartością jest false.
Jeżeli zostanie ustawione na true, wtedy pozycja kontynuuje bez czekania (tylko jeżeli zdarzenie zostanie wywołane przez wywołanie metody Release, tzn. jeżeli pEvent.ReleaseType=2).
pEvent.Val1 - ( Variant) [ do odczytu] 1. wartość pozycji.
pEvent.Val2 - ( Variant) [ do odczytu] 2. wartość pozycji.
pEvent.Val3 - ( Variant) [ do odczytu] 3. wartość pozycji.
pEvent.Val4 - ( Variant) [ do odczytu] 4. wartość pozycji.
pEvent.Val5 - ( Variant) [ do odczytu] 5. wartość pozycji. |
---|
Notatka:
Zdarzenie zostanie wywołane albo w wątku głównym lub w wątku roboczym. Zastosowanie głównego lub roboczego wątku określa się w konfiguratorze "
Zastosowany wątek (thread)" oraz parametrem
Params metody
Add.
Uwaga: Obiekt
PmaSequencer jest unikalnym, ponieważ jego zdarzenie
onStep zostanie wywołane 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 wątku 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 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.
Przykład1:
Z opóźnieniem 2 sekund będą kolejno uruchamiane skrypty reprezentujące akcje "A", "B" oraz "C".
JavaScriptVBScriptWybierz oraz skopiuj do schowka
switch (pEvent.Val1)
{
case "A":
// Wykonaj akcję A
pMe.Add(2, "B", 1);
break;
case "B":
// Wykonaj akcję B
pMe.Add(2, "C", 1);
break;
case "C":
// Wykonaj akcję C
pMe.Add(2, "A", 1);
break;
}
Select Case pEvent.Val1
Case "A"
' Wykonaj akcję A
pMe.Add 2, "B", 1
Case "B"
' Wykonaj akcję B
pMe.Add 2, "C", 1
Case "C"
' Wykonaj akcję C
pMe.Add 2, "A", 1
End Select