Einzelnen Beitrag anzeigen

Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Parameterübergabe Sender: TObject wie?

  Alt 24. Mai 2011, 23:24
Delphi-Quellcode:
Procedure TfrmMain.Zeige(Sender: TObject);
begin
  with Sender do
    begin
      Canvas.TextOut(X, Y, 'Hallo');
    end
end
Das wird nicht funktionieren, weil Sender is vom Typ TObject und das hat keinen Canvas. Wenn du es nur für Forms machen willst, kannst den Typen überprüfen und mit einem Typecast arbeiten:
Delphi-Quellcode:
Procedure TfrmMain.Zeige(Sender: TObject);
begin
 if (Sender is TForm) then
   (Sender as TForm).Canvas.TextOut(X, Y, 'Hallo');
end
Wenn allerdings etwas castest, was nicht geht (z.B. zwei Klassen, die nicht voneinander abgeleitet sind) gibt es eine Exception (daher vorher der Test mit dem "is"-Operator)
  Mit Zitat antworten Zitat