![]() |
AW: "Unendlicher Progressbar"
Danke für den Tip, leider ändert das nichts an der Ladezeit...
Ciao Stefan |
AW: "Unendlicher Progressbar"
Wie lange ist denn die Ladezeit (bzw. die Hänge-Dauer des Formulars)?
- für ein Dokument? - für alle n Dokumente? |
AW: "Unendlicher Progressbar"
Beim ersten Panel / Dokument ca. 3 sec, alle weiteren gehen schneller (ca. 1 sec)
Ciao Stefan |
AW: "Unendlicher Progressbar"
Kannst du mal den Code zeigen, der das Erzeugen der Komponenten und das Laden ausführt?
|
AW: "Unendlicher Progressbar"
Zitat:
Dann würde ich wieder bei einem Label oder Panel landen... Angenommen Du lädst 10 Komponenten, dann Label.Caption := '1/10'; Label.Update; Dokument1Laden; Label.Caption := '2/10'; Label.Update; Dokument2Laden; ... Label.Caption := '10/10'; Label.Update; Dokument10Laden; Label.Visible := False; Dann würde der Nutzer ja ausreichend sehen, dass sich etwas tut. Alles andere wäre deutlich aufwendiger und würde nicht mehr bringen. |
AW: "Unendlicher Progressbar"
Statt Update ein Label.Repaint oder eventuell Label.Parent.Repaint benutzen
oder eventuell ein TStaticText statt TLabel versuchen. TLabel hat keinen eigenen Canvas und lässt sich von seinem Parent zeichnen. Und Update zeichnet nur das neu, als vorher als "veraltet" gekennzeichnet wurde. Ein Repaint macht dagegen Invalidate + Update. |
AW: "Unendlicher Progressbar"
Zitat:
|
AW: "Unendlicher Progressbar"
Der Timer feuert aber nicht, solange der Mainthread beschäftigt ist.
(Kannst Du mit Sleep oder einer länger laufenden Schleife testen.) |
AW: "Unendlicher Progressbar"
und den Zugriff auf diese Variablen müsste man dennoch synchronisieren, z.B.
* CriticalSection * oder bei Integer, LongBool und Dergleichen kann auch Atomar gearbeitet werden ![]() bzw. ![]() |
AW: "Unendlicher Progressbar"
Na gut. Ich mache das bei meiner Bilderladerei so, dass ich in den Schleifen bei jedem Durchgang eine Prozedur aufrufe, die prüft, ob entweder eine bestimmte Anzahl von Bildern geladen oder ob eine Sekunde verstrichen ist (über GetTickCount). Diese Prüfung scheint kaum Zeit zu verbrauchen. Das müsste das Problem doch endlich killen.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 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