События event
Материал из Вики проекта PascalABC.NET
Данный пример иллюстрирует использование событий. Они являются переменными-делегатами с некоторыми ограничениями, препятствующими их порче вне класса, где они определены. В частности, для них запрещена операция := и явный вызов вне класса, где определено событие.
type MyClass = class event OnMyEvent: procedure; procedure SimulateEvent; begin if OnMyEvent<>nil then OnMyEvent; end; end; procedure MyHandler; begin writeln('Произошло событие') end; var a: MyClass; begin a := new MyClass; a.OnMyEvent += MyHandler; a.SimulateEvent; end.
