Forum: Sonstige Fragen zu Delphi
by jaenicke,
12. Jan 2021
Ich habe doch beschrieben was passiert. Es wird mit EnumThreadWindows gearbeitet.
Das enumeriert dann durch alle Fenster und das erste, das ein TForm ist, wird dann genommen. Aber es wird eben nicht geprüft, ob es sichtbar ist. Es wäre schön, wenn das "vorher aktive Fenster" oder eine andere bessere Logik verwendet würde...
Forum: Sonstige Fragen zu Delphi
by jaenicke,
12. Jan 2021
Ich habe mal nachgeschaut. Das GetTopWindow wird ausschließlich an dieser Stelle verwendet. Von daher würde ich es, unabhängig davon, ob man das umgehen kann, als Bug einstufen, dass dort unsichtbare Fenster berücksichtigt werden.
Denn das Erzeugen von unsichtbaren Fenstern ist ja nun nicht so ungewöhnlich. Das Problem tritt nämlich auch auf, wenn man einfach nur ein zweites Formular hinzufügt...
Forum: Sonstige Fragen zu Delphi
by jaenicke,
11. Jan 2021
Dann dürfte das daran liegen, dass das Hauptfenster nicht als erstes Formular mit Application.CreateForm erstellt wurde und somit nicht als Hauptformular in der Anwendung bekannt gemacht wurde.