Bist du sicher, daß die Hilfe da stimmt?
Ich kann mich nicht erinnern jemals ein TimerEvent nach dem deaktivieren eines Timers bekommen zu haben.
Da wäre es doch statistisch eigenartig, wenn das niemals passiert wäre.
Hab mal schnell einen Test gemacht:
> zwei Timer und Memo auf der Form
Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
begin
Timer1.Interval := 500;
Timer2.Interval := 5000;
end;
procedure TForm2.Timer1Timer(Sender: TObject);
begin
Memo1.Tag := Memo1.Tag + 1;
Memo1.Lines.Add('OnTimer: ' + IntToStr(Memo1.Tag));
end;
procedure TForm2.Timer2Timer(Sender: TObject);
begin
Timer2.Enabled := False;
Memo1.Lines.Add('Disable 1');
//Timer1.Enabled := False; // disablen vor dem Event
Sleep(1500);
Timer1.Enabled := False; // disablen nach dem Event
Memo1.Lines.Add('Disable 2');
end;
Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
begin
Timer1.Interval := 500;
Timer2.Enabled := False;
end;
procedure TForm2.Timer1Timer(Sender: TObject);
begin
Memo1.Lines.Add('OnTimer');
Sleep(1500);
Memo1.Lines.Add('Disable');
Timer1.Enabled := False;
end;
procedure TForm2.Timer2Timer(Sender: TObject);
begin
//
end;
In beiden Fällen müsste dann ein OnTimer eintreffen, nachdem der Timer deaktiviert wurde, aber es passiert nicht.