![]() |
AW: Progressbar während Objekterzeugung aktualisieren
Hallo,
Zitat:
Zitat:
1. Ich erzeuge ein Login-Formular. Im Login-Formular befindet sich die Progressbar (momentan noch deaktiviert) 2. Ich prüfe User und kennwort ab 3. Ist beides Korrekt, wird die Progressbar aktiviert und sie sollte "loslaufen" 4. Nun wird das Hauptformular (mit den vielen Komponenten erzeugt und mit Show angezeigt) 5. Während diese Erzeugens des Hauptformulars ändert sich leider nicht die Fortschrittsanzeige der Progressbar. Zitat:
Danke für die vielen Hinweise! Gruß, Echtet |
AW: Progressbar während Objekterzeugung aktualisieren
![]() Wenn es um wenige Sekunden nach der Anmeldung geht, würde ich im LoginForm einfach ein nettes Image "bitte warten..." anzeigen. Für eine laufende ProgressBar müsstest Du diese (die betreffende Instanz) Deinem Mainform übergeben, das diese dann zyklisch hochzählt. Da der Ladefortschritt aber durch Dich schwer zu überwachen ist, wird das wohl schwierig werden. Ein empfehlenswerter Ansatz für sehr komplexe Formulare kann sein, mit embeded Forms zu arbeiten (oder notfalls mit Frames). Dadurch erhält man eine übersichtlichere Projektstruktur und Du könntest bei jedem Form, das eingebettet wird, einen Fortschritt darstellen. |
AW: Progressbar während Objekterzeugung aktualisieren
oder du machst so nen balken, wie er beim bootvorgang von xp kommt der einfach nur durchläuft und keinen fortschritt anzeigt
|
AW: Progressbar während Objekterzeugung aktualisieren
Das ist dann eine ProgressBar im Marguee-Style.
Das Problem ist aber, dass diese still steht, wenn das Programm beschäftigt ist (z.B. weil es ein Formular lädt). |
AW: Progressbar während Objekterzeugung aktualisieren
Liste der Anhänge anzeigen (Anzahl: 4)
Hier ein Beispiel...
|
AW: Progressbar während Objekterzeugung aktualisieren
Hallo Delphianer,
vielen Dank nochmal für die vielen Tips. Aufgrund der Hinweise zum SpashScreen habe ich mir diese Thematik nochmal näher angeschaut (velen Dank auch an Omata für die beispielhaften Routinen!). Ich werde wohl aus den ![]() Da mir anfangs nicht bewusst war, dass man einen SplashScreen nicht nur zu Programmbeginn einblenden lassen kann, hier mal skizzenhaft mein Vorgehen. Vielleicht hilft es dem einen oder anderen ebenso... 1. Form1 (Login = Hauptformular) wird beim Programmstart automatisch erzeugt. 2. frmMain wird nach korrekter anmeldung aufgerufen. 3. Die Spash-Komponente wird auf dem frmMain abgelegt. 4. Nachdem aus der Form1 der Befehl "Application.CreateForm(TfrmMain, frmMain);" ausgeführt wurde, startet nach kurzer Verzögerung der SpashScreen 5. frmMain wird angezeigt "frmMain.Show" 6. Spash-Komponente wird ggf beendet bzw blendet langsam aus Gruß, Echtet |
AW: Progressbar während Objekterzeugung aktualisieren
Naja, aber Moment, wenn das das Problem löst, sind das Problem doch nicht die vielen Komponenten, sondern das was in OnCreate oder OnShow passiert, oder?
Denn die Komponenten sind ja bereits vollständig erzeugt, wenn du in OnCreate ankommt. |
AW: Progressbar während Objekterzeugung aktualisieren
Hallo,
deswegen sagte ich ja auch "damit könne ich einigermaßen die Funktionalität abbilden". Du hast sicherlich recht, dass die Lösung nicht perfekt ist. Ich denke schon, dass die Anzahl der Komponenten eine Rolle spielt, denn diese werden doch mit der Erzeugung des Hauptformulars ebenfalls erst (automatisch mit dem Formular) erzeugt. Tatsächlich habe ich immer noch eine Wartezeit, bis der SplashScreen angezeigt wird, aber diese ist kürzer als ohne die SpashScreen-Lösung. Ich bleibe aber weiter dran, ob es ggf. noch weiter verbesserungsmöglichkeiten gibt. Gruß, Echtet |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:35 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