Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Run - metoda objektu PmCommMsg

Popis:
Pokyn k přenesení zprávy (jen pro zprávy typu Master).
Syntaxe:
Run([bPriority As Boolean]) As Boolean
Volání:
oMsg.Run bPriority
Parametry:
bPriority[nepovinné] (Boolean) příznak jak zařadit do fronty zpráv
false (přednastaveno) - objekt se postaví na konec fronty
true - objekt se postaví na začátek fronty, tj. přeskočí jiné čekající zprávy
Vrácená hodnota:
true - Přenos zprávy byl úspěšně "nastartován", zpráva byla postavena do fronty ještě neukončených přenosů jiných PmCommMsg objektů. Až na ni dojde řada tak se přenese a určitě se po přenosu vyvolá událost onEndOfTransfer.
false - Přenos zprávy se "nenastartoval". Událost onEndOfTransfer nebude vyvolána. Důvodem může být špatná konfigurace zprávy nebo nejčastěji to bývá proto že v tomto PmCommMsg objektu ještě probíhá přenos od předcházejícího volání metody Run.
Poznámka:
Tato metoda se nemusí ve skriptu volat, pokud je nastaven konfigurátor Automaticky přenášet (pokud je nastavena vlastnost AutoRunEnabled).
 
Tuto metodu je nutné volat pouze v případě Master zprávy, u zprávy typu Slave je volána automaticky (nastavení Master/Slave - viz konfigurátor "Typ zprávy").

Metoda Run dává pouze podnět k přenesení zprávy. Po ukončení metody Run tedy ještě vůbec není zaručeno, že data jsou již přenesena. Run jen způsobí, že daný objekt PmCommMsg se "postaví" do fronty zpráv, které mají být zrovna přenášeny.

Daný objekt PmCommMsg ve frontě čeká, až na něho přijde řada (tato funkčnost je interní vlastností PROMOTIC a projektant se o toto nemusí starat). Potom sám začne vysílat svá data, pak čeká na požadovaná data pro příjem, data příjme a celý proces je ukončen voláním události onEndOfTransfer. Na tyto akce již však metoda Run nečeká.

Objekt PmCommMsg se tedy může nacházet ve dvou stavech - stav kdy neprobíhá přenos a stav kdy probíhá přenos (tzn. stav mezi voláním Run a událostí onEndOfTransfer). Metodu Run lze volat jen nad objektem ve stavu kdy neprobíhá přenos v tomto objektu. Tento stav lze zjistit metodou GetReady.

 
Tuto metodu lze volat i z INFO systému, když se při prohlížení tohoto objektu stiskne tlačítko "Akce". Viz oprávnění PmRoot > Oprávnění > InfoEdit.
Viz také:
Příklad:
If oMsg.GetReady() Then
  oMsg.Run
End If
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice