TSCtrl ist selbst geschrieben (also dürfte dann von TObject abgeleitet sein).
Die Shapes werden sowieso selbst wieder zerstört, wenn das TSCtrl-Objekt gefreet wird oder fehlt da was?
Delphi-Quellcode:
destructor TShapeControl.Free;
var i: integer;
begin
for i:=0 to high(FShapeArray) do
FShapeArray[i].Free;
SetLength(FShapeArray,0);
end;
Also muss ich beim constructor TShape.create(nil) machen.
Was muss nun als "Startwert" bei ParentObj stehen, damit TShape.parent gleich dem Hauptformular des Projektes ist? Oder geht nil da?