![]() |
Progressbar aktualisiert zu langsam
hallo,
ich habe eine Progressbar die mir den aktuellen status anzeigt wie weit er mit dem Kopiren von Verzeichnissen ist. Wenn er damit fertig ist wird der timer der Die Form wieder ins nichts verschwindem lässt gestartet. Das problem ist dabei, das die progressbar noch gar nicht voll ist und er trotzdem den Timer startet. Die Form und die Progressbar sind beide jeweils auf Doublebuffered gesetzt hier mal nen Codeschnipsel...
Delphi-Quellcode:
procedure TFormMyBackUpStarter.timUpToDownTimer(Sender: TObject);
var LFormBewegung : Boolean; begin if pbGesamtStatus.Position = pbGesamtStatus.max then begin //Application.ProcessMessages; LFormBewegung := TMyFormAdvance.FormBewegungUpToDown(self); if LFormBewegung = True then begin timFormBewegung.Enabled := false; Application.Terminate; end; end; end; |
AW: Progressbar aktualisiert zu langsam
Delphi-Quellcode:
Böse. Da reicht ein
if LFormBewegung = True then
Delphi-Quellcode:
.
if LFormBewegung then
Wie schnell tickt denn dein Timer? - Und wann wird jetzt der Timer gestartet? - Mit Beginn der Anwendung oder wirklich erst nach Beendigung des Vorgangs? - Mir scheint als ob der Timer viel zu schnell tickt oder einfach die Anwendung fertig ist und vor dem finalen Zeichnen schon der Timer merkt, dass die Anwendung fertig ist und somit das Zeichnen nicht mehr statt findet. Für Versuchszwecke kannst du auch das DoubleBuffered rausnehmen. Bernhard |
AW: Progressbar aktualisiert zu langsam
Windows 7/Vista ist dafür verantwortlich, daß die ProgressBar nicht ruckartik nach oben schnellt, sondern dieses fließend gescheiht.
PS: Das wurde schon mehrmals gefragt und falls es unbedingt nötig ist, dann wurde da auch oftmals eine Lösung aufgezeigt. |
AW: Progressbar aktualisiert zu langsam
habe den thread gefunden...
kann aber mit den Workaround nicht so ganz umgehen.. weiß net ganz genau wie das gemeint ist zuerst neue Position per Position := NewPosition + 1 dann sofort die tatsächliche neue Position position := NewPosition |
AW: Progressbar aktualisiert zu langsam
- Vorwärts hochsetzen (Position + x) geht langsam
- Rückwärts (Position - x) geht schnell Also erst was Größeres setzen und dann zurück auf den gewünschen Wert. (um 1 größer fällt dabei am Wenigsten auf) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz