Moin...
Zitat:
Seit dem ich bei Timerroutinen zuerst den Timer ausschalte und am Ende wieder einschalte, hab' ich das Problem nicht mehr gehabt.
...hatte ich auch noch nie. Wegen schon immer:
Delphi-Quellcode:
FLoadTimer.OnTimer := DoOnLoadTimer;
...
procedure TfoBaseRibbon.DoOnLoadTimer(Sender: TObject);
begin
LoadTimer;
end;
...
procedure TfoReceipt.DoOnReceiptAfterScroll(Sender: TObject; ReceiptID: Integer; ReceiptDate: TDateTime; ReceiptNumber: string); // kommt von Dataset.AfterScroll
begin
if (not FInCreation) and (not FIsShowing) then
begin
FLoadTimer.Enabled := False;
FLoadTimer.Enabled := True;
end;
end;
...
procedure TfoAddress.LoadTimer;
begin
inherited;
FLoadTimer.Enabled := False;
Zitat:
Am Ende brauchst du ja nur ein Event für deine Aktion, aber sicher nicht für jedes ScollEvent, sondern nur einmal nach dem letzten ScrollEvent.
Genau.
Zitat:
ist villeicht ein ganz anderer Ansatz sinnvoller.
...Idee?