Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: TNotifyEvent mit zusätzlichen Parametern ?

  Alt 15. Okt 2012, 20:52
@Sir Rufo: Dachte ich zunächst auch, doch als ich im Debuger geguckt habe wo es denn hapert, zeigte er mir an: Sender() also das Sender keinen Wert hat Müsste ich das on Timer Event dann nich auch anders zuweisen Timer[i].OnTimer := onTimer(Sender); // das Sender ?
Wenn Sender keinen Wert hat, dann zeigt der Debugger nil an.
Da ist zu 99.9999999% genau die Timer-Instanz drin, die das Event aufruft.

Falls du es nicht glaubst:
Delphi-Quellcode:
procedure TSpielfeld.onTimer(Sender: TObject);
begin
  (Sender as TTimer).Enabled := False;
  ShowMessage( Sender.ClassName ); // --> TTimer
  (Sender as TTimer).Enabled := True;
end;
Witzig ist, wenn das nicht so ist, wieso sollte das denn hier (in deinem Code) funktionieren?
Delphi-Quellcode:
procedure TSpielfeld.onTimer(Sender: TObject);
begin
  if Sender = Timer[0] // <-- ja wenn da nichts in Sender ist
  ...
  (Sender as TTimer).Enabled := False; // <-- ???
  bewegeBikes(Sender);//stellt nach Bewegung (Sender as TTimer).Enabled := True // <-- ???
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat