Hallo zusammen,
auf meiner Reise von C++ zu Delphi bin ich auf ein weiteres kleines Problem gestoßen: Events
Ich hab mal nen kleines Testprogramm dazu geschrieben:
Delphi-Quellcode:
TAEvent = procedure(A:String) of object; // soweit klar ein Funktionszeiger
TBrowser = class
private
FEvent: TAEvent;
public
property Event: TAEvent read FEvent write FEvent;
procedure show;
end;
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure AnotherEvent(A: String);
private
FBrowser: TBrowser;
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.AnotherEvent(A: String);
begin
ShowMessage(a);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FBrowser := TBrowser.Create; // soweit noch klar und wenn ich alle möglichen Bücher über Delphi lese und Googel befrage müsste das auch gehn:
self.AnotherEvent := (FBrowser.Event); // geht so scheinbar nicht; laut Kompiler: zu wenige Parameter aber ich weise doch nur nen Pointer zu oder nicht?
end;
procedure TBrowser.show;
begin
ShowMessage('dfdfdf');
Event('ddddd');
end;
Kann mir jemand erklären warum das so nicht geht? Ich hab schon alles mögliche Probiert das
self.AnotherEvent := (FBrowser.Event);
Ist meine Momentane Fassung, so Späße wie nen Temporäres Object mit "with" kreieren oder Tempoäre Variablen, als auch das Event als Pointer zu handeln und das andere als Adresse bringt alles nix. Auch Klammersetzung in jeglicher Form haben nix gebracht.
Vielen lieben dank,
Tobi
PS: So bald ich mal nen mindest Wissen in Delphi hab schreib ich mal nen kleines Tut für Umsteiger von C++ auf Delphi