![]() |
AW: pbstMarquee richtig verwenden?
@s.h.a.r.k
ähmm... ich hatte überlesen, daß die Berechnungen im Hauptthread ausgeführt werden. Die müssen in einen extra Thread. Dann hast du natürlich Recht. Sorry für Dummschwatz...:stupid: |
AW: pbstMarquee richtig verwenden?
So läuft das recht flüssig, ohne einen Thread zu nutzen.
Ich rufe in der Schleife immer diesen Teil auf:
Delphi-Quellcode:
Die Alternative wäre ProcessMessage, aber das ist ja nicht immer sinnvoll.
if Assigned(odProgressBar) then
begin odProgressBar.Tag := odProgressBar.Tag + 1; if odProgressBar.Tag > 100 then begin odProgressBar.Refresh; odProgressBar.Tag := 0; end; // Application.ProcessMessages; end; |
AW: pbstMarquee richtig verwenden?
Marqueue-Style und
Delphi-Quellcode:
if Assigned(odProgressBar) then
begin odProgressBar.StepIt; odProgressBar.Refresh; // .Repaint; end; |
AW: pbstMarquee richtig verwenden?
StepIt und Refresh haben bei meinen Tests das gleiche bewirkt.
Es wurde damit bei jedem Durchlauf ein Fortschritt gezeichnet - allerdings rasend schnell. Daher refreshe ich bei jedem 100sten Durchlauf. Für mich passt das so perfekt (sieht fast so aus, als würde der Fortschritt in einem Thread laufen ;-)). |
AW: pbstMarquee richtig verwenden?
Man kann auch mit TAnimate nette Ergebnisse erzielen.
Dazu lädt man eine kleine AVI (zur Designzeit oder zur Laufzeit) und schaltet die einzelnen Bilder schrittweise mit Seek() durch. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 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