Einzelnen Beitrag anzeigen

Benutzerbild von MrMooed
MrMooed

Registriert seit: 18. Feb 2012
101 Beiträge
 
Delphi 7 Enterprise
 
#1

TNotifyEvent mit zusätzlichen Parametern ?

  Alt 15. Okt 2012, 18:52
Delphi-Version: 7
Guten Abend DP,

ich bin immernoch dabei eine Art 'Tron' zu programmieren und bin erneut an meine Grenzen gestoßen

In dem Project soll jedes Fahrzeug (Bike) einen Timer bekommen mit dem es sich bewegt. (Jeder einen eigenen, damit sie sich unterschiedlich schnell bewegen können) Nun kreiere ich meine Timer dynamisch und weise ihnen das .OnTimer Event zu. Allerdings möchte ich, dass die procedur sich unterschiedlich verhällt, je nach dem welcher Timer das Event ausgelöst hat.

Doch nun stellt sich mir das Problem, dass ich einem TNotifyEvent keine Parameter übergeben kann und somit nicht feststellen kann wer es ausgelöst hat
Mein Wissen

Deklaration:
Delphi-Quellcode:
Timer: Array of TTimer;
Tasten: TQueue;
Bike: Array of TBike;
Erstellung der Timer:
Delphi-Quellcode:
for i:=0 to Pred(pTimerAnzahl) do begin
    SetLength(Timer, Succ(i));
    Timer[i] := TTimer.Create(nil);
    Timer[i].Interval := 10;
    Timer[i].OnTimer := onTimer(Timer[i], i);
    Timer[i].Enabled := True;
    end;
onTimer:
Delphi-Quellcode:
procedure TSpielfeld.onTimer(Sender: TObject);
begin
  if Sender = Timer[0]
    then if Tasten.Count > 0
           then
             case Word(Tasten.Pop) of
               70: Bike[0].dreheLinks;
               74: Bike[0].dreheRechts;
               end;
  (Sender as TTimer).Enabled := False;
  bewegeBikes(Sender);//stellt nach Bewegung (Sender as TTimer).Enabled := True
  .
  .
end;

Geändert von MrMooed (15. Okt 2012 um 18:53 Uhr) Grund: Deklaration fehlte
  Mit Zitat antworten Zitat