События 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.