Porovnávané verzie
porovnané s
Kľúč
- Tento riadok sa pridal
- Riadok je odstránený.
- Formátovanie sa zmenilo.
Komentár:
D2D-5010 Chyba v dokumentácii - OPENEVENT
Akcia OPENEVENT
Funkcia
Otvorenie a štart Server Eventu a Klient a Server Eventu.
Deklarácia
Blok kódu | ||||
---|---|---|---|---|
| ||||
OPENEVENT refToServerEvent DIRECT [INSTANCE instanceExprInt] [SYNC] |
alebo
Blok kódu | ||||
---|---|---|---|---|
| ||||
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.
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 | ||||
---|---|---|---|---|
| ||||
INT _hbj ; jednoznačný identifikátor procesu TEXT _hbjdesc ; 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:
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čí:
- 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 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 | ||||
---|---|---|---|---|
| ||||
RPC PROCEDURE Close (TEXT _desc) CLOSE DIRECT END |
UPOZORNENIE: RPC procedúra Close musí byť volaná asynchrónne, t.j.:
Blok kódu | ||||
---|---|---|---|---|
| ||||
CALL [E.Lib1] Close (_desc) ASYNC ON _hbj) |
Poznámka
Zmena konfigurácie eventu počas behu skriptu nemá na chod žiaden vplyv.