Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

Akcia OPENEVENT


Funkcia
Otvorenie a štart Server Eventu a Klient a Server Eventu.
Deklarácia


Blok kódu
languageesl
themeConfluence
OPENEVENT refToServerEvent DIRECT [INSTANCE instanceExprInt] [SYNC]


 


alebo


 



Blok kódu
languageesl
themeConfluence
OPENEVENT refToServerEvent ON procIdent [INSTANCE instanceExprInt] [SYNC]


Parametre


refToServerEventinOdkaz na Server Event alebo Klient a Server Event.
instanceExprIntinVýraz typu Int - číslo inštancie.
procIdentinIdentifikátor objektu typu Proces (D2000 HI alebo D2000 EventHandler).


Popis
Akcia otvorí a spustí Server Event alebo Klient a Server Event (refToServerEvent) v procese D2000 HI alebo D2000 Event Handler danom parametrom procIDent.
Otvorenie a spustenie Klient a Server Eventu je možné iba v procese D2000 HI danom parametrom procIDent.

Pri otvorení je možné špecifikovať číslo inštancie (parameter instanceExprInt) a tým dosiahnuť viacnásobné otvorenie Server Eventu alebo Klient a Server Eventu v rámci daného procesu.

V prípade použitia kľúčového slova SYNC, bude akcia ukončená až po skutočnom otvorení eventu. Po jej ukončení je možné volať RPC procedúry do otvoreného eventu.
 



Blok kódu
languageesl
themeRDark
 INT _hbj     ; jednoznačný identifikátor procesu
 TEXT _desc
 ;
 OPENEVENT E.Lib1 ON (_hbj) SYNC
 ; volanie
 CALL [E.Lib1] GetDesc(_desc) ON (_hbj)


 


Akcia skončí s chybou v prípade, ak je uvedené kľúčové slovo SYNC a:
  • event E.Lib1 nie je Server Event alebo Klient a Server Event,
  • event E.Lib1 je Server Event a proces identifikovaný parametrom _hbj nie je typu D2000 HI alebo D2000 Event Handler alebo daný proces nebeží,
  • event E.Lib1 je Klient a Server Event a proces identifikovaný parametrom _hbj nie je typu D2000 HI, alebo daný proces nebeží.
Akcia nebude úspešná, ak požaduje otvorenie inštancie eventu na procese D2000 Event Handler, ktorý je rodičom daného eventu E.Lib1.

Akcia s klauzulou DIRECT otvorí daný event na rovnakom procese, v ktorom beží skript obsahujúci danú akciu OPENEVENT.

O zatvorenie Server Eventu alebo Klient a Server Eventu, otvoreného akciou OPENEVENT, môže požiadať jedine daný skript volaním akcie CLOSE DIRECT. Toto je možné implementovať pomocou RPC procedúry, ktorá to zabezpečí:
 



Blok kódu
languageesl
themeRDark
 RPC PROCEDURE Close (TEXT _desc)
   CLOSE DIRECT
 END


 


UPOZORNENIE: RPC procedúra Close musí byť volaná asynchrónne, t.j.:
 



Blok kódu
languageesl
themeRDark
 CALL [E.Lib1] Close (_desc) ASYNC ON (_hbj)


Poznámka
Zmena konfigurácie eventu počas behu skriptu nemá na chod žiaden vplyv.

Info
titleSúvisiace stránky:

Akcie v skriptoch