Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
Delphi 12 Athens
|
AW: Eigene Klasse von TForm ableiten - Events
24. Mai 2011, 12:06
Wenn Du schon selbst nicht mehr weißt, wie Du die Methode deklariert hast:
procedure TForm1.MyEvent(Sender: TObject; sAction: String); //Sender-Parameter muss dazu
[edit] Ich habe mal schnell ein Beispiel gebaut:
Delphi-Quellcode:
type
TOnRenameEvent = procedure(Sender: TObject; NewName: string) of object;
THund = class
private
FName: string;
FOnRename: TOnRenameEvent;
procedure SetName(const Value: string);
public
constructor Create;
procedure ShowNewName(Sender: TObject; NewName: string);
property Name: string read FName write SetName;
property OnRename: TOnRenameEvent read FOnRename write FOnRename;
end;
constructor THund.Create;
begin
inherited;
FName := 'Bello';
end;
procedure THund.SetName(const Value: string);
begin
if Value <> FName then
begin
FName := Value;
if Assigned(FOnRename) then
FOnRename(self, FName);
end;
end;
procedure THund.ShowNewName(Sender: TObject; NewName: string);
begin
ShowMessage('Ich heiße jetzt ' + NewName);
end;
procedure TFormTest.btnNewDogClick(Sender: TObject);
var
Hund: THund;
begin
Hund := THund.Create;
try
Hund.OnRename := Hund.ShowNewName;
ShowMessage(Hund.Name); //Bello
Hund.Name := 'Hasso';
finally
Hund.Free;
end;
end;
[/edit]
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
Geändert von DeddyH (24. Mai 2011 um 12:12 Uhr)
|