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á _BtnOKENTRY 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 obsluhuENTRY 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: