Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Akcia OPENEVENT


Funkcia
Otvorenie a štart Server Eventu a Klient a Server Eventu.
Deklarácia
OPENEVENT refToServerEvent DIRECT [INSTANCE instanceExprInt] [SYNC]

 
alebo
 
OPENEVENT refToServerEvent ON procIdent [INSTANCE instanceExprInt] [SYNC]

Parametre
refToServerEvent in Odkaz na Server Event alebo Klient a Server Event.
instanceExprInt in Výraz typu Int - číslo inštancie.
procIdent in Identifiká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.
 
 INT _hbj     ; jednoznačný identifikátor procesu
 
 _hbj
 ;
 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čí:
 
 RPC PROCEDURE Close (TEXT _desc)
   CLOSE DIRECT
 END

 
UPOZORNENIE: RPC procedúra Close musí byť volaná asynchrónne, t.j.:
 
 CALL E.Lib1 Close (_desc ASYNC ON _hbj) 

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

Súvisiace stránky:

  • No labels