Obsluha udalostí

Obsluha udalostí

Akcia ENTRY - obsluha udalosti


Deklarácia

ENTRY EntryName [([IN] type1 paramName1[,paramName2, ...] [IN] type2 paramName3]...)] ; akcie END EntryName


 

ENTRYX EntryName [([IN] type1 paramName1[,paramName2, ...] [IN] type2 paramName3]...)]
; akcie
END EntryName

Parametre

EntryName

Meno udalosti. Meno musí byť jedno z možných udalostí.

type1

Typ prvého parametra.

paramName1

Meno prvého parametra.

type2

Typ druhého parametra.

paramName2

Meno druhého parametra.

....

 

Poznámka:
Parametre udalosti sú dané jej typom. Iná kombinácia parametrov ako prípustná nie je povolená.
Maximálny počet parametrov je 10.

Popis

Akcia uvádza obsluhu konkrétnej udalosti. Obsluha udalosti je v podstate špecializovaná procedúra uvedená kľúčovým slovom ENTRY (alebo ENTRYX).

Udalosti generované grafickými objektmi môžu byť obsluhované dvoma spôsobmi:

  • Špeciálna obsluha udalosti pre grafický objekt.

  • Globálna obsluha udalosti daného typu pre všetky grafické objekty.

Prvá možnosť (špeciálna obsluha) obsluhuje udalosti generované jediným grafickým objektom. Takáto obsluha má špeciálne meno zložené z mena grafického objektu (Referenčná lokálna premenná schémy pripojená na grafický objekt) a menom udalosti. Tým je jednoznačne definované meno obsluhy (napríklad BtnOK_OnClick. _BtnOK je Referenčná lokálna premenná pripojená na grafický objekt a OnClick je typ udalosti.).

Druhá možnosť (globálna obsluha) obsluhuje všetky udalosti daného typu (napríklad OnClick) pre všetky grafické objekty, ktoré nemajú definovanú špeciálnu obsluhu danej udalosti.

Ak je obsluha udalosti uvedená kľúčovým slovom ENTRYX, požiadavky na obsluhu udalostí budú redukované tak, aby sa obslúžila posledná ešte neobslúžená. Pri vzniku novej udalosti budú všetky udalosti rovnakého typu čakajúce na obsluhu ignorované.

Kľúčové slovo ENTRYX nie je možné použiť pre nasledovné udalosti OnClose, OnPopUpMenu_Result, OnSubPictureClosed, OnAXEvent, OnItemValidate, OnFetchDone, OnUserInput.

Príklad

Špeciálna obsluha udalosti:

 

; obsluha udalosti: Stlačenie tlačidla myši nad grafickým ; objektom, ku ktorému je pripojená Referenčná premenná _BtnOK
ENTRY BtnOK_OnClick %HI_ClosePicture() ; zatvorenie schémy END BtnOK_OnClick

 

Globálna obsluha udalosti:

 

; obsluha udalostí: Stlačenie tlačidla myši nad grafickými ; objektami, ktoré nemajú definovanú špeciálnu obsluhu
ENTRY OnClick(IN INT _refId)
; _refId - hodnota Referenčnej lokálnej premennej schémy ktorá je ; pripojená ku grafickému objektu IF _refId = _BtnOK THEN ; test ktorý určí, nad ktorým grafickým ; objektom bola stlačená myš %HI_ClosePicture() ; zatvorenie schémy ENDIF END OnClick

 

Poznámka:
Ak sú v jednom skripte definované obidvoje obsluhy, globálna nebude nikdy zavolaná pre _refId=_BtnOK, lebo  existuje špeciálna obsluha.


Súvisiace stránky:

Udalosti