Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#16

AW: Eigene Klasse von TForm ableiten - Events

  Alt 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)
  Mit Zitat antworten Zitat