k.A. wie genau das FMX macht, aber vermutlich ähnlich.
In der
VCL haben solche Komponenten (TShape, TPaintBox, TImage, ...) keinen eigenen Canvas, sondern malen auf die Oberfläche ihres Parents.
und der Parent ist im Constructor noch nicht zugewiesen, weswegen es da Probleme geben muß.
Weiß grade nicht was beim "Draufziehen" (neu Erstellen) ist, aber beim Laden der
DFM gibt es die
procedure Loaded;
, welche nach Zuweisen aller Eigenschaften aufgerufen wird.
Ansonsten machen sich viele "bösartig" einen "wurdegeladen"-Boolean, welchen sie im OnPaint prüfen und anschließend auf True setzen. (
if not wurdegeladen then machdeninitializationsschrott; wurdegeladen := True;
)