AW: Anwendungs-Startup -- Konzepte?!
28. Dez 2011, 09:00
Also ein einheitliches Startverhalten ist schon eine feine Sache, zumal die einzelnen Operationen voneinander abhängen. Aber wozu denn Threads?
Meine Anwendungen bestehen eigentlich immer aus einem Datenmodul und einem Hauptbild (klar, und 10000 Dialogen). Das Datenmodul wird im Konstruktor des Hauptbildes instantiiert. Die Dialoge erst, wenn ich sie benötige.
Wenn ich unbedingt einen Splash brauche, dann nehme ich ihn und lasse jedes einzelne Modul, das meint, beim Hochfahren etwas melden zu müssen, meinem Splash mitteilen 'Nächster Schritt: Foobar'. Wenn ich die Anwendung das erste mal durchlaufen habe, weiss ich auch, wie viele Schritte es waren und kann dann beim nächsten Mal einen Fortschrittsbalken anzeigen. Das geht automatisch. Animierte Splash-Screens mache ich erst, wenn ich mehr als 10 Kopien meiner Anwendung verkaufen sollte.
Das Datenmodul wird zuerst einen Logger instantiieren und Konfigdaten einlesen. Danach wird dann ggfs die Datenbank angesprochen oder eine Datei eingelesen oder sonstwas.
Wenn das DM fertig mit initialisieren ist, kann das Hauptbild weitermachen (das DM wurde ja im Konstruktor des Hauptbildes aufgerufen).
Im OnShow des Hauptschirms starte ich einen Timer, der das Splash nach 500ms schließt. Sieht schicker aus.
|