Dies habe ich jetzt umgangen, in dem ich OnChange vor der Timeränderung auf nil setzte.
Dies würde so funktionieren.
Nun zu Frage macht man dies so, oder gibt es da eine bessere Lösung ?
Code: Alles auswählen
procedure TForm1.FormCreate(Sender: TObject);
begin
  TrackBar1.Max := 10000;
  Timer1.Interval:=20;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
  p: integer;
  oc: TNotifyEvent;
begin
  oc := TrackBar1.OnChange;
  TrackBar1.OnChange := nil;
  p := TrackBar1.Position;
  Inc(p, 3);
  if p >= TrackBar1.Max then  begin
    p := 0;
  end;
  TrackBar1.Position := p;
  TrackBar1.OnChange := oc;
end;
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  WriteLn('change');  // Zur Überprüfung
end;
 Verein
Verein 
 Links
Links Suche
Suche