1. вместо self - form1, или другой родитель, или nil
По одной? ок. для этого:
1: You3d:Array of TRectangle3D; - переносишь в приват раздел твоей формы(form1=class(tForm) private You3d:Array of TRectangle3D).
2. SetLength(You3d, 0); - в конструкторе инициализируешь массив (вот тут могу врать - возможно это необязательно)
3. Procedure DrawYou3d; - создаешь в Public разделе класса(того же класса где и писал You3d:Array of TRectangle3D)
в реализации метода пишешь:
Procedure TYouClass.DrawYou3d;
Begin
SetLength(You3d, High(You3d)+1);
You3d[High(You3d)]:=TRectangle3D.Create(self); // вот тут
You3d[High(You3d)].Parent:=Form1;
End;
по желанию(ну или обязательно, тоже не помню) можешь в параметрах процедуры передать позицию фигуры
Procedure DrawYou3d(Const X,Y:Single);/\