Событие - это член класса, который позволяет объекту или классу предоставлять уведомления. Прикладные программисты могут ассоциировать исполняемый код с событиями путём предоставления обработчиков событий.
К определениям событий применяются те же правила, что и к определениям методов в отношении допустимых комбинаций модификаторов.
Тип, указанный в определении события, должен быть делегатом и должен иметь уровень доступа не ниже чем уровень доступа самого события. Для указания обработчика событий используется оператор присвоения событию:
Установка обработчика события в форме event := sub. Использование данной формы присвоения доступно только в базовом типе, в котором определено событие;
Расширение списка обработчиков события в форме event += sub;
Уменьшение списка обработчиков события в форме event -= sub.
Delegate LoadEventHandler(x, y, z: integer);
Delegate ErrorEventHandler(x, y: integer);
Abstract Class BaseClass
//Абстрактное событие, которое должно быть переопределено
Abstract Public Event OnLoad: LoadEventHandler;
End Class;
Class UserObject: BaseClass
//Переопределение абстрактного события
Public Override Event OnLoad: LoadEventHandler;
//Объявление собственного события
Public Event OnError: ErrorEventHandler;
Public Constructor UserObject();
Begin
//Установка обработчиков событий
OnLoad := Load;
OnLoad += LoadEx;
OnError := CheckError;
End Constructor;
Sub DelEventHandler();
Begin
OnLoad := Null;
OnError := Null;
End Sub;
//Процедуры - обработчики событий
Sub Load(x, y, z: integer);
Begin
End Sub;
Sub LoadEx(x, y, z: integer);
Begin
End Sub;
Sub CheckError(x, y: integer);
Begin
End Sub;
End Class;
См. также: