События

Событие - это член класса, который позволяет объекту или классу предоставлять уведомления. Прикладные программисты могут ассоциировать исполняемый код с событиями путём предоставления обработчиков событий.

К определениям событий применяются те же правила, что и к определениям методов в отношении допустимых комбинаций модификаторов.

Тип, указанный в определении события, должен быть делегатом и должен иметь уровень доступа не ниже чем уровень доступа самого события. Для указания обработчика событий используется оператор присвоения событию:

Пример

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;

См. также:

Классы