Promotic

Add - metoda obiektu PmaSequencer

Opis:
Doda nową pozycję do kolejki.
Składnia:
Boolean Add(Variant Timeout, [Variant Val1], [Variant Val2], [Variant Val3], [Variant Val4], [Variant Val5], [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[opcjonalne] (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.
Val4[opcjonalne] (Variant) 4. wartość pozycji. Zastosowanie patrz Val1.
Val5[opcjonalne] (Variant) 5. wartość pozycji. Zastosowanie patrz Val1.
Params[opcjonalne] (String) Dodatkowe parametry wytwarzanej pozycji. Jeżeli jest wykorzystywany parametr Val4 lub parametr Val5, wtedy ostatni parametr Params jest obowiązkowy. patrz: Przykład1. 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 obiekt PmaSequencer oraz Jak 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.
"pos:xxx;" - Określa, czy pozycja zostanie dodana na koniec lub Na początek kolejki. Opcja ma znaczenie tylko jeżeli w konfiguratorze "Typ uruchamiania elementów" w karcie "Sequencer" jest ustawione "1 = pozycje są uruchamiane stopniowo, timeout jest opóźnieniem pomiędzy nimi".
"pos:last;" (domyślnie) - Pozycja zostanie zaszeregowana na koniec kolejki.
"pos:first;" - Pozycja zostanie zaszeregowana Na początek kolejki (wyprzedzi wszystkie oczekujące pozycje).
"timeout:xxx;" - Umożliwia ustawienie znaczenia dla parametr Timeout. W języku JavaScript nie istnieje typ danych Date, który służy do rozróżnienia timeout (TimeSpan) i daty (DateTime).
"timeout:date;" - Określa, że liczbą w parametru Timeout będzie data (taka sama jak typ danych Date).
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:
Możliwe warianty wołania metody z punktu widzenia określania nieobowiązkowych parametrów. Jeżeli jest wykorzystywany parametr Val4 lub parametr Val5, wtedy ostatni parametr Params jest obowiązkowy.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

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);
Przykład2:
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");

Historia:
Pm9.00.25:
- Nowa opcja "pos:xxx;" umożliwia określić miejsce zaszeregowania pozycji.
- Nowa opcja "timeout:xxx;" umożliwia określić miejsce zaszeregowania pozycji.
- Nowy parametr Val4 oraz parametr Val5.
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.