Popis modifikácií správania skriptu ESL v kontexte aktívnej schémy.


Akcia END alebo ukončenie vykonávania skriptu



Skript v rámci aktívnej schémy nemôže skončiť. Po vykonaní inicializačnej časti, ktorá je aktivovaná hneď po otvorení schémy (ešte pred jej zobrazením), alebo po vykonaní akcie END je skript v stave čakania na udalosti generované činnosťou užívateľa. Prichádzajúce udalosti sú obsluhované prostredníctvom ENTRY alebo obsluhou zmeny hodnoty objektu (ON CHANGE).


Ošetrenie chybového stavu



Pri výskyte chybového stavu je štandardné správanie ESL doplnené o zobrazenie správy v prostredí procesu D2000 HI. Keďže nemôže prísť k ukončeniu skriptu, je prerušené aktuálne spracovávanie udalosti a skript sa dostane do stavu čakania na udalosť.


Správa sa zobrazí v dialógu, ktorý ponúka možnosti na riešenie chyby, možnosť zobraziť chybové hlásenia alebo pripraviť správu s chybovými hláseniami pre poslanie na majlovu adresu zadanú v parametroch aplikácie (parameter MailingAddress).

Zobrazenie chybovej správy

Po stlačení tlačidla "Zobraziť informácie o chybe" sa zobrazí dialógové okno s poslednými chybovými hláseniami. Ich počet je uvedený v titulku okna. Správy sú oddelené vodorovnou čiarou a ich štruktúra sa môže časom meniť.

Zobrazenie podrobností o chybách

Užívateľ môže pomocou tlačidla vložiť tento oznam do schránky a následne odoslať administrátorovi. Prípadne môže využiť možnosť preposlania na definovanú adresu (viď vyššie). Ak počas zobrazenia okna pribudnú ďalšie chybové hlásenia, povolí sa tlačidlo Obnoviť, ktoré umožní obnoviť zobrazovaný obsah.


Tlačidlom OK sa chyba potvrdí a dialógové okno sa zatvorí.


Priradenie do indexovej premennej



Indexová premenná, deklarovaná na úrovni schémy, je zviazaná (jej deklaráciou) s objektom typu Štruktúrovaná premenná. Určuje, ktorý riadok (v zmysle hodnoty na riadku) štruktúry je priebežne (na zmenovom princípe) aktualizovaný. Preto zmena hodnoty takejto lokálnej premennej prebieha špeciálnym spôsobom:


_INDEX - indexová premenná pre štruktúrovanú premennú SV.Struct. Aktuálna hodnota 3.
Priradenie:


_INDEX :=  2 


spôsobí zatvorenie (ukončenie aktualizácie) riadku SV.Struct[3] a otvorenie riadku SV.Struct[2].


Vzhľadom na to, že zatvorenie a otvorenie riadku môže, v závislosti od zaťaženia systému, trvať určitý čas, toto priradenie je implementované v nasledujúcich krokoch:


_INDEXPREV    ; aktuálna hodnota indexovej premennej (v našom príklade 3)
 _INDEXNEW     ; nová hodnota indexovej premennej (v našom príklade 2)


%HI_EnablePicture(@FALSE)
 
 _INDEX := _INDEXNEW         ; s nastaveným stavom Transient
 IF %HI_ChangeRow(SV.Struct\HBJ, _INDEXPREV,  _INDEXNEW) = _ERR_NO_ERROR THEN
   _INDEX := _INDEXNEW           ; bez stavu Transient
 ELSE ; neúspešná zmena indexu
   _INDEX := neplatna hodnota    ; bez stavu Transient
 ENDIF
 
 %HI_EnablePicture(@TRUE)    ; len ak bola schéma pred priradením povolená


Uvedená postupnosť akcií je vykonaná interne v rámci priradenia.

Write a comment...