Hallo zusammen,
manchmal kommt es vor, dass ein simples showmessage('bla'), oder auch ein mein_Fenster.showmodal; HINTER dem Hauptformular verschwindet.
Man hat dann (fast) keine Möglichkeit mehr, das Fenster in den Vordergrund zu holen.
Das Thema wurde 2006 hier
http://www.delphipraxis.net/65588-me...ntergrund.html schon mal angesprochen - allerdings ohne so eine richtige Lösung.
Wenn ich anstatt form1.showmodal folgendes schreibe, dann scheint es nicht aufzutreten:
Code:
hauptform.enabled := false;
form1.show;
form1.bringtofront;
Dann muss man aber aufpassen, dass beim Schliessen von form1 das hauptform wieder auf enabled=true gesetzt wird...
form1 muss dann natürlich auf stayontop gestellt sein...
--> bei Anwendungen mit ganz vielen Formularen (die auch noch gleichzeitig offen sein können) wird das aber schnell recht kompliziert...
Es sieht so aus, als ob das Problem vor allem auftritt, wenn zwischen dem Button-Click und dem showmessage viel gemacht wird (z.B. umfangreiche Datei-IO, etc.).
Pseudocode:
Code:
procedure TForm.button1Click(Sender: TObject);
begin
// Viel Datei-IO
...
showmessage('ich bin fertig! Hoffentlich siehst Du diese Nachricht auch! Oder bin ich wohl versteckt?');
end;
Weiß jemand, woran das liegt - und was man vor allem dagegen tun kann?
Oder muss ich mir wirklich einen eigenen showmessage-Dialog basteln?
Gruß,
Poolspieler