onStep - událost objektu PmaSequencer
Popis:
Událost je vyvolána když se položka uvolní.
Parametry:
pMe | (Object) Reference na PmaSequencer objekt, ve kterém daná událost vzniká. |
pEvent | (Object) Reference na objekt, který popisuje informace o dané události.
pEvent.ReleaseType - ( Long) [ pro čtení] Příčina uvolnění položky:
0 - položka nečekala, tzn. v metodě Add byl timeout=0
1 - položka čekala a timeout vypršel
2 - položka čekala a byla zavolána metoda Release
pEvent.ReleaseCancel - ( Boolean) [ pro čtení i zápis] Přednastavená hodnota je false.
Pokud se nastaví na true, pak položka pokračuje v čekání (pouze pokud událost je vyvolána voláním metody Release, tzn. pokud pEvent.ReleaseType=2).
pEvent.Val1 - ( Variant) [ pro čtení] 1. hodnota položky.
pEvent.Val2 - ( Variant) [ pro čtení] 2. hodnota položky.
pEvent.Val3 - ( Variant) [ pro čtení] 3. hodnota položky. |
---|
Poznámka:
Událost je vyvolána buď v hlavním vlákně nebo v pracovním vlákně. Použití hlavního nebo pracovního vlákna se zadává v konfigurátoru "
Použité vlákno (thread)" a parametrem
Params metody
Add.
Upozornění: Objekt
PmaSequencer je vyjímečný, protože jeho událost
onStep je vyvolána v hlavním nebo pracovním vlákně (
"thread:work;" nebo
"thread:main;"). Proto byly metody interně zdvojeny a přeloženy jak v hlavním vlákně, tak v pracovním vlákně.
Pokud se metoda vyvolá z pracovního vlákna, pak bude provedena přímo v pracovním vlákně. V ostatních případech se stejně jako u metod ostatních objektů provede v hlavním vlákně.
Toto umožňuje snadné vytvoření pomocných funkcí tak, aby událost
onStep mohla být přehlednější. Dokonce i při střídavém vyvolávaní události
onStep v hlavním nebo pracovním vlákně je pak automaticky volána metoda v tomtéž vlákně.
Příklad1:
S prodlevou 2 sekund se budou opakovaně spouštět skripty reprezentující akci "A", "B" a "C".
JavaScriptVBScriptVyber a zkopíruj do schránky
switch (pEvent.Val1)
{
case "A":
// Provést akci A
pMe.Add(2, "B", 1);
break;
case "B":
// Provést akci B
pMe.Add(2, "C", 1);
break;
case "C":
// Provést akci C
pMe.Add(2, "A", 1);
break;
}
Select Case pEvent.Val1
Case "A"
' Provést akci A
pMe.Add 2, "B", 1
Case "B"
' Provést akci B
pMe.Add 2, "C", 1
Case "C"
' Provést akci C
pMe.Add 2, "A", 1
End Select