![]() |
Splash wähernd Initialisierung
Hallo,
vorab erst einmal die Bemerkung, dass ich weiß, wie ein Splash erstellt wird. Und ich kenne auch die Suchfunktion :-) Ich habe ein Programm erstellt, welches über Internet auf eine MySQL-Datenbank zugreift und beim Programmstart eine Übersicht aus den darin enthaltenen Daten erstellt. Dieser Zugriff braucht mitunter seine Zeit, gerade bei Usern, die nur über ISDN verfügen, kann es auch mal ein paar Sekunden länger dauern. Diese Wartezeit möchte ich nun mit einem Splashscreen "überbrücken", in dem angezeigt wird, was gerade passiert. Es soll also direkt zum Start ein Willkommensfenster erscheinen, welches sich schließt, sobald alle Daten geladen sind und das Programm "einsatzbereit" ist. Leider konnte ich bisher als einzig praktikable Lösung dafür die finden, dass ich das Splash nach einem vordefinierten Zeitraum schließe und zum Hauptprogramm gehe. Das Problem dabei ist klar: Wenn die Datenmenge größer oder aber die Internetanbindung langsamer ist, schließt sich das Splash zu früh, und wenn ich es auf eine dafür angemessene Zeit einstelle, schließt es sich für die schnellen Surfer und diejenigen, die nur wenige Daten übertragen, zu spät. Deshalb nun die Frage: Wie kann ich das Splash vom Projekt aus öffnen, im Programm selbst aber wieder schließen? Bzw., da diese Frage ein wenig widersinnig ist, besser: Hat jemand eine Lösung für mein Problem? Ich bin für jeden Tipp dankbar. Vielen Dank Opa |
Re: Splash wähernd Initialisierung
Falls Du die ZEOS Komponenten benutzt, kannst Du ja die SQLHourGlass Eigenschaft der ZConnection auf True setzen. Dann würden die Benutzer einen entsprechenden SQL-Wartecursor angezeigt bekommen, falls die SQL Operation noch läuft. Ansonsten kannst Du das Splashscreen ja erst nach dem Holen der Daten schließen...
Viele Grüße |
Re: Splash wähernd Initialisierung
Zitat:
Öffne dein Splashformular, wo ist eigentlich egal, Hauptsache vor dem Laden der Daten (in der Projektdatei oder in FormCreate deines Hauptformulars). Dann rufe die Laderoutine für deine Daten auf. Nachdem Das Programm aus der Laderoutine zurückgekehrt ist, Schliesse dein Splash wieder: Pseudocode:
Delphi-Quellcode:
MeinSplsch := TMeinSplash.Create(nil);
MeinSplash.Show; LaodData; InitializeData; DoSomethingWithTheDataOnProgramStartup; MeinSplash.Free; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:21 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