Thema: Delphi Progress Form/Dialog VCL

Einzelnen Beitrag anzeigen

lxo

Registriert seit: 30. Nov 2017
260 Beiträge
 
Delphi 12 Athens
 
#1

Progress Form/Dialog VCL

  Alt 28. Sep 2018, 16:10
Hallo,

folgende/s Frage/Problem habe ich.
Ich habe eine Funktion die Daten aus Textdateien in eine Datenbank importiert.
Da in den Textdateien einige tausend Datensätze enthalten sind, dauert dies ein paar Sekunden.

Für diesen Fall würde ich gerne eine Fortschrittsanzeige anzeigen.
Jedoch nicht direkt auf meinem Form sondern auf einem extra Dialog/Form der/das im Vordergrund steht und weiterhin bedienbar ist, die Form im Hintergrund sollte während dessen blockiert sein.

Momentan habe ich einfach beim starten des Imports eine zweite Form geöffnet, die ich während des Import immer mal wieder aktualisiere in dem ich den Text ändere bzw. die Position einer Progessbar hochzähle und ein Application.ProcessMessages auslöse.

Das funktioniert, leider nicht so wie ich das möchte.

Je öfter ich Application.ProcessMessages auslöse umso langsamer wird der Import.
Wenn ich jedoch Application.ProcessMessages nicht so oft auslöse, hängt die Fortschrittsanzeige bis ich wieder Application.ProcessMessages auslöse, auch bei Progessbar.Style [pbstMarquee].

Ich hab schon alles mögliche mit Threads probiert, nur irgendwie kriege ich es einfach nicht hin...

Also, ich hätte gerne einfach einen weiteren Dialog der den Fortschritt meines Imports live anzeigt und weiterhin bedienbar ist und das HauptFormular blockiert.



Kann mir da jemand paar Tipps geben?
  Mit Zitat antworten Zitat