Einzelnen Beitrag anzeigen

Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#7
  Alt 10. Mär 2003, 21:25
Ich werd da helfen können:

Der Sender ist das Objekt, dass das Ereignis hervorruft. Leider ist der Sender vom Typ TObject, unser Edit aber vom Typ TEdit.
Glücklicherweise ist TEdit aber von TObject abgeleitet, und unser Sender enthält, obwohl er vom Typ TObject ist, alle Eigenschaften und Methoden des Typs TEdit. Wir müssen Delphi nur noch mitteilen, dass es sich bei unserem Sender um ein Objekt des Typs TEdit handelt. Das können wir auf zwei Arten tun:

1.
Delphi-Quellcode:
procedure TForm1.Edit1OnChange(Sender: TObject);
const
  sReq = 'Hello world';
begin
  if TEdit(Sender).Text = sReg then Button1.Enabled := False;
end;
2.
Delphi-Quellcode:
procedure TForm1.Edit1OnChange(Sender: TObject);
const
  sReq = 'Hello world';
begin
  if (Sender as TEdit).Text = sReg then Button1.Enabled := False;
end;
Beides bewirkt das Gleiche, nämlich dass Delphi annimmt, es handle sich um ein TEdit-Objekt. Falls unser Sender allerdings mal kein TEdit wäre, könnte das allerdings eine Access Violation geben.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat