Also, geschrieben ist sie richtig. Statt der TObjectList kannst du auch ein Array of TShape nehmen. Sieht in etwa so aus:
Delphi-Quellcode:
var
ShapeArray: array[0..10] of TShape; //deklarieren
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var i: integer;
begin
for i := 0 to 10 do
ShapeArray[i] := TShape.Create(self); // erzeugen
end;
Jetzt kannst du mit ShapeArray[i] auf die einzelnen Shapes zugreifen.