Joar, wo soll man anfangen?
Wir hatten nur "paar" der über 300 Units geöffnet, aber schon bei den Wichtigsten wurde einfach die Größe aus der
DFM ignoriert.
Upgrade von XE zu 10.4.x
* inzwischen funktioniert zumindestens das Compilieren recht gut
* CodeInsight ist eine Katastrophe (aber ignorieren wir das erstmal)
* erste Versuche beim Debuggen von DesignTimePackages lief komplett schief, da von fast allen eigenen Packages keine Debuginfos gefunden wurden (ich würde die Schuld aber hier erstmal auf Eurekalog schieben)
* das Öffnen von FormUnits war saulangsam, aber da gab es schon Abhilfe
* und eben bei vielen Forms stimmt einfach die Größe garnicht
Wie gesagt, es wird einfach ClientHeight komplett ignoriert.
Es sind zwar mehrfach vererbte Forms, aber das sollte eigentlich egal sein.
Im Programm könnte ich den Setter von ClientHeight/ClientWidth überschreiben und das Problem bestimmt beheben, aber der FormDesigner nutzt nicht "die" Klasse des Vorfahren, sondern einen generischen TForm-Dummy, also kann ich da nichts machen und eine Lösung nur im Programm wäre sinnlos, wenn der FormDesigner beim nächsten Speichern das entgültig zerschießt.
Eine neue leere
Unit/
DFM, um die "vermuteten" Dinge zu erweitern, brachte leider keine Ergebnisse (hier funktioniert es).
Code:
object Form2: TForm2
Left = 50
Top = 100
ClientHeight = 1200
ClientWidth = 800
HorzScrollBar.Range = 1100
VertScrollBar.Range = 770
Caption = 'Form2'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
end
Nach dem Speichern ist es dann, wie erwartet, mit Width/Height, wo es vorher ClientWidth/ClientHeight war.
Siehe oben, liegt am HorzScrollBar, was ich ja schon rausgefunden hatte.
Und es wäre auch egal, wenn die "richtig" Größe gespeichert würde (egal ob als Height oder ClientHeight), nachdem sie beim Öffnen auch geladen wurde.
Code:
object Form2: TForm2
Left = 0
Top = 0
Width = 833
Height = 1100
HorzScrollBar.Range = 1150
VertScrollBar.Range = 770
...