Am 24.12.2005 um 22:46 schrieb Mike Ott:

Schöne Weihnachten allerseits!

Danke gleichfalls ;)

Ich möchte gerne während des Startvorgangs meiner App, d.h. bis zum
Erscheinen des ersten regulären Fensters, ein Wartefenster anzeigen lassen. Habe leider keine Erfahrung mit Threads und wäre froh um etwas Beispiel
Code, wie man das realisiert.

Grundsätzlich brauchst du dafür keine Threads ausser du bist noch sehr viele Daten am laden und möchtest in dem Fenster auch gerade den Ladevorgang anzeigen.

Als erstes würde ich mal das Default Fenster des Projekt auf das neue Fenster stellen (es ist ja jetzt das erste Fenster das aufgehen muss). Und dann würde ich die Lademethoden im Open Event des neuen Fensters starten.

Jetzt kommt es drauf an, was du alles am laden bist, wenn du Daten in einer Schleife am lädst, dann würde ich die ganze Geschichte in einen Thread schmeisen (neue Klasse erstellen, Super auf Thread setzten und allen Code der ausgeführt werden soll in den Run Event der neuen Klasse schreiben.

im SplashScreen dann eine Variable anlegen (datenLaden As MeinThread) und im Open Event mit
datenLaden = new MeinThread
datenLaden.w = self // Fenster übergeben
datenLaden.run

Hier noch der Code der in der Run Event:

'Lade Daten:
dim d As Double = ganViel / 100
for i = 0 to ganzViel
        'Hier Code um die Daten zu laden:

        ' Aktuallisieren der Anzeige:
        w.progressBar1.value = Round(d * i)
next

' Hier kommt der Code der nach dem Laden der Daten ausgeführt werden muss
w.goOn

In der goOn Methode im SplashScreen kommt dann alles weiter rein, also SplashScreen schliessen und Hauptfenster öffnen.

Ich hoffe es war einigermassen verständlich.

gruss V

Antwort per Email an