So was ähnliches mache ich auch. Allerdings mit einmen anderen Ansatz. Das modale Fenster mit dem Fortschritsbalken bekommt eine Prozedure übergeben (procedure of object). Diese Prozedur läuft dann in einem Thread, den das Form mit Fortschritsbalken erstellt started.
Ist der Thread fertig oder wird durch einen Abbrechenschalter im Form mit Fortschritsbalken terminiert, schließt sich das Fenster wieder.
Es besteht aber auch die Möglichkeit mittels
Delphi-Quellcode:
WindowList := DisableTaskWindows(0);
...
EnableTaskWindows(WindowList);
so etwas zu machen. Am besten mal in TForm.Showmodal reinschauen.