Jupp, der
Exception-Dialog aus TApplication.ShowException nutzt eine
MessageBox
und die wird von der
VCL an das grade "aktive" Fenster gehängt ... wird jenes geschlossen, dann ist auch der MessageBox weg.
Das Selbe funktioniert auch wunderschön bei ShowModal-Dialogen.
Zitat:
Delphi-Quellcode:
procedure TCustomForm.Release;
begin
PostMessage(
Handle, CM_RELEASE, 0, 0);
end;
Das gibt die Form nicht sofort, sondern erst nach Anzeige des Fehlerdialogs frei.
Ein beherztes Form.Free, ein böses ProcessMessages oder vielleicht auch nur ein Form.Hide (eventuell mit ProcessMessages) und schon hat sich die Sache.
Das war schon in Delphi 7 so, war es noch in XE und wird sich wohl zukünftig in der
VCL auch nicht ändern können, da bei einer Änderung des Verhaltens garantiert irgendwas Anderes knallen tut.
(k.A. was FMX hier verbockt)