sto cercando di applicare quello he mi hai suggerito tu, solo che non ne vegno fuori:

ho creato una lista ch memorizza la posizione del comntrollo, solo che non rieso a far funzionare quello che dico io!

codice:
type
      TipoMemo=record
                 altezza:integer;
                end;
      TipoLista=array[1..200] of TipoMemo; //dovrebbe esere il vettore che memorizza le informazioni
var
  Form1: TForm1;
  num:TipoLista;
implementation

{$R *.dfm}

procedure TForm1.btnNuovaClick(Sender: TObject);
var i:integer;
begin
  with TMemo.Create(self) do
  begin
    if i=1 then
      begin
        num[i].altezza:=2;
        top:=num[i].altezza;
        i:=i+1;
      end;
    left:=60;
    height:=90;
    top:=90+(num[i].altezza);
    i:=i+1;
  end;
end;
ma così non va!