![]() |
Problem mit Thread und ProgressBar
Hallo,
ich habe ein Programm mit einem Thread. In diesem Thread werden im Execute 5 Proceduren aufgerufen, abhängig ob jeweils eine Variable aktiv ist oder nicht. Nach jeder Procedure wird eine Procedure mit Synchronize aufgerufen, die dann im Hauptthread eine ProgressBar-Position ändert. Beim Debuggen fällt mir auf, dass nach jeder Procedure der Code für die ProgressBar-Positions-Änderung aufgerufen wird. Die ProgressBar ändert aber erst die Position wenn der Thread nicht mehr läuft. Hätte jemand eine Idee, was das Problem sein könnte? |
Re: Problem mit Thread und ProgressBar
Zitat:
|
Re: Problem mit Thread und ProgressBar
Liste der Anhänge anzeigen (Anzahl: 1)
hier mal das projekt
|
Re: Problem mit Thread und ProgressBar
Windows Vista/Seven?
Da ändert sich die ProgressBar nicht sofort, sondern paßt sich stetig an (liegt an Windows) |
Re: Problem mit Thread und ProgressBar
Zitat:
|
Re: Problem mit Thread und ProgressBar
Zitat:
|
Re: Problem mit Thread und ProgressBar
Zitat:
Interessanterweise hab ich auch andere Projekte mit ner Progressbar die sich ständig ändert, aber in diesen Projekte funktionierts problemlos. Ich seh nur keinen Unterschied wieso es bei dem einem funktioniert, beim Anderen aber nicht |
Re: Problem mit Thread und ProgressBar
zurücksetzen passiert quasi sofort
Lösung:
Delphi-Quellcode:
bzw.
PB.Position := i + 1;
PB.Position := i;
Delphi-Quellcode:
PB.Position := Max(i + 1, PB.Max - 1);
PB.Position := i; |
Re: Problem mit Thread und ProgressBar
Zitat:
Hab deine Codes mal getestet, leider ändert sich nichts am Verhalten |
Re: Problem mit Thread und ProgressBar
Da ich nichts von {APPTYPE CONSOLE} und WriteLn - Ausgaben sehe: Hast Du den abwechselnden Aufruf beim Debuggen vielleicht mit Haltepunkten hervorgerufen? Vielleicht kommt das Formular dank zahlreicher Sync-Anfragen garnicht zum neuzeichnen. Ob die Position sich überhaupt ändert könnte vermutlich ein nachgeschaltetes ProcessMessages zeigen.
Grüsse, Dirk |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 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 by Thomas Breitkreuz