Ich habe eine Frage zu Threads und Kontrollen. Ich habe einen synchronen modalen Dialog erstellt. Es gibt drei Fortschrittsbalken und einige Beschriftungen. Wenn die Anwendung zum ersten Mal geöffnet wird, wird der Synchronisierungsdialog geöffnet und die Aktualisierung durchgeführt. Im Dialog Show() Methode erstelle ich drei verschiedene Threads. Jeder Thread steuert den Datendownload, das XML-Parsing und das Einfügen von Datenbanken. Und dann zeigt Fortschritt auf Fortschrittsbalken. Alles beschrieben, funktioniert gut.Schließen Fenster auf Fadenstopp
Nun das Problem - ich möchte diesen Dialog automatisch schließen, wenn alle Elemente heruntergeladen, analysiert und in die Datenbank eingefügt werden. Ich habe versucht zu überprüfen, ob progressbar.position gleich progressbar.max ist und ich habe versucht zu überprüfen, ob Threads beendet sind. Wenn ich mit dem Fortschrittsbalken gehe, schließt der Dialog zu früh und eine Fortschrittsleiste wird nicht vollständig beendet. Wenn ich mit der Thread-Überprüfung gehe, dann stoppen Fortschrittsbalken in der Mitte des Prozesses und das ist alles.
Vielleicht haben Sie es getan und erzählen Sie dem Delphi n00b, wie ist der beste Weg, es zu tun.
Vielen Dank im Voraus ...
+1 Dies ist viel einfacher als meine Antwort "posten Sie eine Nachricht"! –
Ich werde das versuchen, ist dieser ThreadDecCount irgendeine Art von Ereignis? – evilone
@Evilone: Es ist ein TNotifyEvent. – jachguate