Delphi 7 war's auch noch so.
Und ja, als es seit XP mit den verschiedenen Fensterrahmen/Titelleisten in jedem neuen Windows anders.
Man konnte da nur alles in ein Panel legen und das mit alClient, sonst rutschten schnell mal Komponenten aus dem Fenster.
Hmmm, also Grundsätzlich ist im XE der Code ähnlich.
Dort wird auch mal Height und mal ClientHeight gespeichert, abhängig von VertScrollBar.
Und im SetClientHeight wird ebenfalls in einer Variable zwischengespeichert.
Delphi-Quellcode:
ClientHeight = 299
ClientWidth = 635
Height = 800
Width = 50
Mein Beispiel liefert also auch im XE schon eine falsche Größe.
Aber zusammen mit der Vererbung (ClientHeight in einer
DFM und Height in einer Anderen), da funktionierte damals noch (D5, D7, XE)