Zitat von
Luckie:
So, ich habe das jetzt mal nach diesem Galileo Dingsbums probiert. Hie rmal der Komplette Source:
Code:
...eine Menge blödsinniger Code, der einem alles mögliche erklären will. Nur als abstraktes event Beispiel taugt er nix... :?
Zu solchen "Tutorials" sage ich jetzt besser nix...
Zitat von
Luckie:
So langsam habe ich fast die Nase voll. Muss das denn so kompliziert sein?
Ist es doch gar nicht!
Wie deklarierst du in Delphi einen Event?
Du deklarierst einen FunktionsPointer:
type TSampleEventHandler = procedure (Sender :TObject;e :TMyEventArgs) of object;
Jetzt braucht deine Klasse noch die passende Property
Delphi-Quellcode:
type TEventTest = class
private
fSampleEvent :TSampleEventHandler;
public
property OnSampleEvent :TSampleEventHandler read fEvent write fEvent;
end;
In irgend einer Methode würdest du ihn dann aufrufen:
Delphi-Quellcode:
var
MyEventArgs :TMyEventArgs;
begin
...
if Assigned(fSampleEvent) then
begin
MyEventArgs := TMyEventArgs.Create('Hallo');
try
fSampleEvent(this, MyEventArgs);
finally
MyEventArgs.Free();
end;
end;
....
end;
Ist doch fast das gleiche. Wobei ich den .Net Weg für einfacher halte. Der eigentliche Unterschied besteht nur darin, dass du in .Net soviele Delegates an den Event hängen kannst wie du lustig bist.