Einzelnen Beitrag anzeigen

VCLVirtuoso

Registriert seit: 12. Mär 2024
3 Beiträge
 
Delphi 12 Athens
 
#3

AW: Verwendung von TTitleBarPanel mit ModalPopupMode := pmAuto

  Alt 22. Mär 2024, 09:10
Es ist wohl ein Bug aber der beste workaround wäre meiner Meinung nach, modal genutzte Forms nicht in die autocreate-Liste aufzunehmen sondern nach Bedarf zu erzeugen und danach auch sofort wieder zu zerstören. Man braucht dann auch keine Form-Variable, die läßt sich sozusagen "internalisieren" wenn man der Formklasse eine public class function nach dem folgenden Muster spendiert

Auf diese Weise kommt man auch nicht in Versuchung, eine Form als Datenspeicher zu mißbrauchen.
Das wäre wahrscheinlich der richtige Weg und würde auch viele andere Probleme ersparen. Unsere Legacy-Software macht allerdings genau den Fehler an so vielen Stellen, dass sich der Code leider nicht ohne Weiteres refaktorieren lässt.

Mit SetWindowPos im TForm2.FormShow funktioniert es schon besser, weil das Fenster ja noch nicht gezeigt wird. Das ist aber natürlich immer noch ein Hack, den ich eigentlich gerne anders lösen würde. Lässt sich das pmAuto vielleicht umgehen? Ich habe die Dokumentation allerdings schon so verstanden, dass das die "empfohlene" Variante ist. Aber wenn es tatsächlich ein Bug ist, muss es wahrscheinlich erstmal bei dem SetWindowPos-Workaround bleiben.
  Mit Zitat antworten Zitat