Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: welche Informationen schickt eigentlich (Sender: TObject

  Alt 5. Okt 2005, 22:13
In Sender wird dir eine Referenz auf das auslösende Objekt übergeben. Wenn also ein Button1 eine OnClick-Routine auslöst, so ist Sender vom Typ TButton und du kannst auf ihn zugreifen. Das ist praktisch wenn mehrere Komponenten ein und die selbe Ereignisbehandlungsprozedur erhalten. Du kannst dadurch also ermitteln wer genau das Ereignis ausgelöst hat, und auch gleich mit dem Objekt interagieren.
Es ist deswegen vom Typ TObject, da TObject Vorfahre aller Komponenten ist. Somit kann dort jeglicher Typ drin übergeben werden ohne die OOP zu treten. Bevor du jedoch die Methoden von z.B. TButton verwenden kannst, musst du casten.
Delphi-Quellcode:
procedure OnClick(Sender: TObject);
begin
  (Sender as TButton).Caption := 'Ich bin geklicked';
end;
Sollte Sender hier kein TButton sein gibt's eine Exception. Daher lässt sich das über den is-Operator auch im Vorfeld abprüfen.


Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat