Delphi 1
Делегирование события
...я вижу что событие делегировано, но почему вы считаете, что это отход от ООП?
Тем не менее, Delphi это использует при каждом определении обработчика события.
Вот как поступить в вашей ситуации:
- Определите тип процедуры, использующейся в качестве обработчика события.
Допустим, ваш обработчик OnCalculate имеет один параметр типа Integer (присутствующий лишь для демонстрации идеи).
typeTCalculateEvent = procedure(I: Integer) of object; - Теперь объявите ваш класс:
typeTSomeClass = class(TObject)privateFOnCalculate: TCalculateEvent;procedure DoCalculate(I: Integer);publicproperty OnCalculate: TCalculateEvent read FOnCalculatewrite FOnCalculate;end; - Метод DoCalculate совсем простой:
procedure TSomeClass.DoCalculate(I: Integer);beginif Assigned(FOnCalculate) then FOnCalculate(I);end;
-Steve [000671]