Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
Delphi 12 Athens
|
AW: Wie erzeugt man ein Event?
19. Apr 2012, 11:13
Deklaration eines EventHandlers:
Delphi-Quellcode:
type
TMyEvent = procedure(<Parameter>) of object;
TDings = class
private
FOnEvent: TMyEvent;
...
public
property OnEvent: TMyEvent read FOnEvent write FOnEvent;
...
end;
implementation
procedure TDings.DoSomething;
begin
DoWork;
if Assigned(FOnEvent) then
FOnEvent(<Parameter>);
end;
Wobei man bei Events eines Threads (meistens) darauf achten sollte, dass man diese synchronisiert auslöst.
Delphi-Quellcode:
procedure TMyThread.Execute;
begin
...
Synchronize(DoEvent);
...
end;
procedure TMyThread.DoEvent;
begin
if Assigned(FOnEvent) then
FOnEvent(<Parameter>);
end;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|