Pri štarte skriptu pomocou akcie EVENT je možné špecifikovať parametre, ktoré sa prenesú do štartovaného skriptu. Prenesenie parametrov je implementované ako naplnenie definovaných lokálnych premenných štartovaného skriptu hodnotami z lokálnych premenných skriptu, ktorý volá akciu EVENT.
Príklad - Skript ktorý volá iný skript nazvaný E.SubScript
_i := 1
EVENT E.SubScript(_par1 = _i)
END
Skript E.SubScript
PUBLIC INT _par2
_par1 := 2
END
V prvom skripte je deklarovaná lokálna premenná _i, ktorá je inicializovaná pred volaním skriptu
E.SubScript
na hodnotu 1. Štartovanie vnoreného skriptu E.SubScript
prebieha s predaním (kopírovaním) hodnoty lokálnej premennej volajúceho
skriptu _i do lokálnej
(PUBLIC) premennej volaného skriptu _par1
. Pri tejto činnosti je kontrolovaná existencia
všetkých lokálnych premenných lokálneho skriptu. Tieto musia byť deklarované ako PUBLIC. V prípade, že sa
jedná o odkaz na objekt systému (ALIAS), nie je prenášaná hodnota, ale odkaz. Akcia EVENT
je synchrónna, teda čaká na ukončenie vnoreného (volaného) skriptu. Po jeho skončení, sú hodnoty (a odkazy)
spätne kopírované do lokálnych premenných volajúceho skriptu. V prípade lokálnych premenných typu ALIAS sú
kopírované odkazy. Ak pri volaní skriptu nie je niektorá PUBLIC lokálna premenná inicializovaná, má neplatnú
hodnotu (Invalid), na rozdiel od ostatných premenných.
Upozornenie
- Pri editácii skriptu v procese D2000 CNF sa nekontroluje existencia PUBLIC lokálnych premenných vo volanom skripte.
Súvisiace stránky:
0 komentárov