Promotic

Add - metoda obiektu PmaSequencer

Opis:
Doda nową pozycję do kolejki.
Składnia:
Boolean Add(Variant Timeout, Variant Val1, [Variant Val2], [Variant Val3], [String Params])
Parametry:
Timeout(Variant) Określa kiedy pozycja zostanie zwolniona a kiedy zostanie wywołane zdarzenie onStep (jeżeli wcześniej nie spowoduje to metoda Release).
 
Jeżeli chodzi o wartość liczbowa (typu Integer, Long, Single, itd.), wtedy chodzi o ilość sekund, za ile należy zwolnić pozycję (0=bez oczekiwania, -1=czas oczekiwania nieskończenie długi).
Znaczenie tej wartości zależy od ustawienia konfiguratora "Typ uruchamiania elementów" w karcie "Sequencer":
Jeżeli jest ustawione "0 = pozycje są uruchamiane niezależnie, każdy według swego timeouta", wtedy czhodzi o czas od wywołania metody Add.
Jeżeli jest ustawione "1 = pozycje są uruchamiane stopniowo, timeout jest opóźnieniem pomiędzy nimi", wtedy chodzi o czas od zwolnienia ostatniej pozycji. W tym przypadku timeout musi być mniejsze lub równe 21 dni (tzn. 1814400 sekund).
Ewentualna zmiana czasu komputera nie ma wpływu na timeout elementów, tzn. ilość sekund do uruchomienia będzie dotrzymany.
 
Jeżeli chodzi o wartość typu Date, wtedy chodzi o datę oraz czas, kiedy należy zwolnić pozycję. Nie można określać typ Date jeżeli jest ustawione "1 = pozycje są uruchamiane stopniowo, timeout jest opóźnieniem pomiędzy nimi". Ewentualna zmiana czasu komputera nie ma wpływ na całkowity czas uruchomienia pozycji, pozycje zostaną uruchomione o określonym czasie całkowitym (już według nowego czasu). Na przykład pozycja, która miała zostać uruchomiona o 14:00:00, zostanie uruchomiona o 14:00:00 nowego czasu.
Val1(Variant) 1. wartość pozycji. Tą wartość można ustawić dla dalszego wykorzystania w zdarzeniu onStep.
Val2[opcjonalne] (Variant) 2. wartość pozycji. Zastosowanie patrz Val1.
Val3[opcjonalne] (Variant) 3. wartość pozycji. Zastosowanie patrz Val1.
Params[opcjonalne] (String) Dodatkowe parametry wytwarzanej pozycji. Dane są tutaj w formacie KeyVal, na przykład thread:main;.
"thread:xxx;" - Określa wątek (thread), w którym zostanie wywołane zdarzenie onStep dla tej pozycji. Opcja ma znaczenie tylko jeżeli obiekt PmaSequencer korzysta z roboczego wątku (patrz konfigurator "Zastosowany wątek (thread)"), w innym przypadku zostanie zignorowany. Zastosowanie tego wyboru patrz PmaSequencer oraz W jaki sposób uruchamiać skrypty w innym wątku (threadu).
"thread:work;" (domyślnie) - Zdarzenie zostanie wywołane w wątku roboczym.
"thread:main;" - Zdarzenie zostanie wywołane w wątku głównym.
Wartość zwrotna:
true - Pozycja została dodana.
false - Pozycja nie została dodana. Powód: jeżeli została przekroczona maksymalna ilość elementów (patrz właściwość MaxSize) lub został źle ustawiony parametr Timeout. To zostanie zapoisane w globalnych błędach w INFO systemie.
Patrz również:
Przykład1:
Do obiektu dodamy pozycję, która zostanie zwolniona za 10 sekund:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

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

Historia:
Pm9.00.08: Metoda Params zwracała w wersjach PROMOTIC 9.0.X zawsze niepoprawne false.
Pm8.00.03: Nowy parametr Params
© MICROSYS, spol. s r. o.