Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Run - metoda obiektu PmCommMsg

Opis:
Polecenie wykonania transmisji wiadomości (tylko dla wiadomości typu Master).
Składnia:
Run([bPriority As Boolean]) As Boolean
Wołanie:
oMsg.Run bPriority
Parametry:
bPriority[opcjonalne] (Boolean) znacznik, jak wiadomość ma zostać zaszeregowana do kolejki wiadomości
false (domyślnie) - obiekt jest zaszeregowany na koniec kolejki
true - Obiekt jest zaszeregowany na początek kolejki, to znaczy, że przeskoczy inne czekające w kolejce wiadomości
Wartość zwrotna:
true - Transmisja danych została pomyślnie "rozpoczęta", wiadomość została zaszeregowana do kolejki jeszcze nie zakończonych transmisji innych PmCommMsg obiektów. Kiedy kolejka nadejdzie do danej wiadomości to zostanie ona wysłana i po transmisji na pewno zostanie wywołane zdarzenie onEndOfTransfer.
false - Transmisja wiadomości nie została rozpoczęta. Zdarzenie onEndOfTransfer nie zostanie wywołane. Powodem może być błędne ustawienie wiadomości lub najczęściej dlatego, że w danym obiekcie PmCommMsg jeszcze przebiega transmisja spowodowana przez poprzednie wywołanie metody Run.
Notatka:
Nie trzeba wywoływać tej metody w skrypcie, jeżeli jest ustawiony konfigurator Transmituj automatycznie (jeżeli jest ustawiona właściwość AutoRunEnabled).
 
Jest konieczne wywoływanie tej metody tylko w przypadku wiadomości typu Master, dla wiadomości typu Slave jest wywoływana automatycznie (ustawienie Master/Slave - patrz konfigurator "Typ wiadomości").

Metoda Run tylko daje impuls do transmisji danych. Po zakończeniu metody Run nie jest więc w ogóle zagwarantowane, że dane zostały przeniesione. Run tylko spowoduje, że dany obiekt PmCommMsg zostanie "zaszeregowany" do kolejki wiadomości, które mają zostać wysłane.

Dany obiekt PmCommMsg czeka w kolejce, dopóki nie nadejdzie jego kolej (taka funkcjonalność jest wewnętrzną funkcją systemu PROMOTIC i projektant nie musi się o to troszczyć). Wtedy sam zacznie wysyłać swoje dane, po czym oczekuja na odbiór wymaganych danych, dane odbierze i cały proces zostanie zakończony przez wywołanie zdarzenia onEndOfTransfer. Jednakże metoda Run nie czeka na wykonanie tych czynności.

Obiekt PmCommMsg może się więc znajdować w dwu stanach - stan kiedy nie przebieda transmisja oraz stan, kiedy transmisja przebiega (tzn. stan pomiędzy wywołaniem Run a zdarzeniem onEndOfTransfer). Metodę Run można wywoływać nad obiektem tylko wtedy, kiedy nie przebiega w tym obiekcie transmisja danych. Ten stan można stwierdzić przy pomocy metody GetReady.

 
Niniejszą metodę można wywołać także z INFO systemu, kiedy podczas przeglądania tego obiektu zostanie naciśnięty przycisk "Akcje". Patrz uprawnienie PmRoot > Uprawnienia > InfoEdit.
Patrz również:
Przykład:
VBScriptWybierz oraz skopiuj do schowka

If oCommMsg.GetReady() Then
  oCommMsg.Run
End If
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice