Du schreibst
THyperPanel.Width
.
THyperPanel ist eine Klasse und hat nunmal keine Klasseneigenschaft "Width".
Aber da du die Eigenschaften ja erbst, kannst du lieber gleich einfach
Width := ...;
oder
Self.Width := ...;
schreiben - dann läuft's auch
THyperPanel ist ja nur die Klasse, und wenn du einfach
THyperPanel.Width
schreibst, weiß der Compiler doch nicht,
welches HyperPanel du meinst. Das, das gerade erstellt wird? Dann musst du das auch so schreiben, könnte etwa
THyperPanel(self).Width
oder
(self as THyperPanel).Width
aussehen. Und nunja, der Cast ist hier ziemlich redundant, also am besten gleich einfach
Self.Width
oder
Width
.