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

Ссылки

Персональные инструменты