Hallo,
du kannst ein Fenster auch semimodal öffnen.
Nach aussen hin (für den Benutzer) ist es modal,
aber intern (für den Programmierer) wird es mit Show geöffnet
und man kann seine Berechnungen laufen lassen.
Und da es mit Show geöffnet wird, funktioniert z.B. auch ein Cancel-Button.
Delphi-Quellcode:
// Erzeugen
var
WindowList : Pointer;
Form:= TForm1.Create(nil);
WindowList:= DisableTaskWindows(Form.Handle);
Form.Show;
Application.ProcessMessages;
// Freigeben
Form.FCanClose := True;
EnableTaskWindows(WindowList);
Form.Free;