Delphi> Пожалуйста, объясните это: введите… процедуру объекта

Я столкнулся с новым для меня кодом ...

Я никогда не видел объявления типа процедуры объекта , а я просто не вижу суть. Почему разработчик не мог просто сохранить поле типа Boolean?

interface

    type
      TFinishedCaptureEvent = procedure(AFinished: Boolean) of object;

      TFrameCard = class(TFrame)
      ...
      private
        FOnFinishedCapture: TFinishedCaptureEvent;
        procedure DoUpdateMessage(AMessageType: TMessageType);
      public
        property OnFinishedCapture: TFinishedCaptureEvent read FOnFinishedCapture write FOnFinishedCapture;
      end;    

implementation

...

procedure TFrameCard.DoUpdateMessage(AMessageType: TMessageType);
begin
  if Assigned(FOnFinishedCapture) then
    FOnFinishedCapture(False);
  ...
end;

end.
9
задан Richard Woolf 7 January 2011 в 15:14
поделиться