Promotic

Add - metoda objektu PmaSequencer

Popis:
Přidá novou položku do fronty.
Syntaxe:
Boolean Add(Variant Timeout, [Variant Val1], [Variant Val2], [Variant Val3], [Variant Val4], [Variant Val5], [String Params])
Parametry:
Timeout(Variant) Určuje kdy se položka uvolní a tedy kdy je vyvolána událost onStep (pokud k tomu nedojde dřív metodou Release).
 
Pokud je to číselná hodnota (typu Integer, Long, Single, atd.), pak je to počet sekund, za jak dlouho uvolnit položku (0=nečeká se, -1=čeká se nekonečně dlouho).
Význam této hodnoty závisí na nastavení konfigurátoru "Typ spouštění položek" v kartě "Sequencer":
Pokud je nastaveno "0 = položky se spouští nezávisle, každá podle svého timeoutu", pak je to čas od volání metody Add.
Pokud je nastaveno "1 = položky se spouští postupně, timeout je zpoždění mezi nimi", pak je to čas od uvolnění poslední položky. V tom případě zde zadaný timeout musí být menší nebo rovno 21 dnů (tzn. 1814400 sekund).
Případná změna času počítače nemá vliv na timeout položek, tzn. počet sekund do spuštění bude dodržen.
 
Pokud je to hodnota typu Date, pak je to datum a čas, kdy uvolnit položku. Nelze zadávat typ Date pokud je nastaveno "1 = položky se spouští postupně, timeout je zpoždění mezi nimi". Případná změna času počítače nemá vliv na absolutní čas spuštění položek, položky budou spuštěny v zadaném absolutním čase (už podle nového času). Například položka, která měla být spuštěna ve 14:00:00, bude spuštěna ve 14:00:00 nového času.
Val1[nepovinné] (Variant) 1. hodnota položky. Tuto hodnotu lze nastavit pro další použití v události onStep.
Val2[nepovinné] (Variant) 2. hodnota položky. Použití viz Val1.
Val3[nepovinné] (Variant) 3. hodnota položky. Použití viz Val1.
Val4[nepovinné] (Variant) 4. hodnota položky. Použití viz Val1.
Val5[nepovinné] (Variant) 5. hodnota položky. Použití viz Val1.
Params[nepovinné] (String) Dodatečné parametry vytvářené položky. Pokud se používá parametr Val4 nebo parametr Val5, pak je poslední parametr Params povinný. viz: Příklad1. Údaje jsou zde ve formátu KeyVal, například thread:main;.
"thread:xxx;" - Určuje vlákno (thread), ve kterém je vyvolána událost onStep pro tuto položku. Volba má ale smysl pouze pokud objekt PmaSequencer používá pracovní vlákno (viz konfigurátor "Použité vlákno (thread)"), v jiném případě je ignorována. Použití této volby viz objekt PmaSequencer a Jak spouštět vybrané skripty v jiném vlákně (threadu).
"thread:work;" (přednastaveno) - Událost je vyvolána v pracovním vlákně.
"thread:main;" - Událost je vyvolána v hlavním vlákně.
"pos:xxx;" - Určuje, zda se položka zařadí na konec nebo Na začátek fronty. Volba má ale smysl pouze pokud v konfigurátoru "Typ spouštění položek" v kartě "Sequencer" je nastaveno "1 = položky se spouští postupně, timeout je zpoždění mezi nimi".
"pos:last;" (přednastaveno) - Položka se zařadí na konec fronty.
"pos:first;" - Položka se zařadí Na začátek fronty (předběhne všechny čekající položky).
"timeout:xxx;" - Umožňuje nastavit význam pro parametr Timeout. V jazyce JavaScript neexistuje datový typ Date, který slouží k rozlišení mezi timeoutem (TimeSpan) a datumem (DateTime).
"timeout:date;" - Určuje, že číslo v parametru Timeout bude znamenat datum (stejně, jako datový typ Date).
Vrácená hodnota:
true - Položka se zařadila.
false - Položka se nezařadila. Důvod: pokud překročen maximální počet položek (viz vlastnost MaxSize) nebo špatně nastaven parametr Timeout. Toto se zapíše do globálních chyb v INFO systému.
Viz také:
Příklad1:
Možné varianty volání metody z hlediska uvádění nepovinných parametrů. Pokud se používá parametr Val4 nebo parametr Val5, pak je poslední parametr Params povinný.
JavaScriptVBScriptVyber a zkopíruj do schránky

var oSeq = pMe.Pm("/Sequencer");
var t, val1, val2, val3, val4, val5, params;
oSeq.Add(t);
oSeq.Add(t, val1);
oSeq.Add(t, val1, val2);
oSeq.Add(t, val1, val2, val3);
oSeq.Add(t, val1, val2, val3, params);
oSeq.Add(t, val1, val2, val3, val4, params);
oSeq.Add(t, val1, val2, val3, val4, val5, params);
Příklad2:
Do objektu přidáme položku, která se uvolní za 10 sekund:
JavaScriptVBScriptVyber a zkopíruj do schránky

var oSeq = pMe.Pm("/Sequencer");
oSeq.Add(10, "ID1");

Historie:
Pm9.00.25:
- Nová volba "pos:xxx;" umožňuje určit, kam se nová položka zařadí.
- Nová volba "timeout:xxx;" umožňuje určit, kam se nová položka zařadí.
- Nový parametr Val4 a parametr Val5.
Pm9.00.08: Metoda Params vracela ve verzích PROMOTIC 9.0.X chybně vždy false.
Pm8.00.03: Nový parametr Params
© MICROSYS, spol. s r.o.