Ops è vero

Allora questo è il mio Form A con TEdit e TButton
codice:
unit A;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm_A = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form_A: TForm_A;

implementation

uses B;

{$R *.dfm}

procedure TForm_A.Button1Click(Sender: TObject);
begin
  Form_B.Numero := StrToInt(Edit1.Text);
  Form_B.ShowModal;
end;

end.
Mentre questo è il Form B inizialmente vuoto
codice:
unit B;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm_B = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    Numero: Integer;
  end;

var
  Form_B: TForm_B;

implementation

{$R *.dfm}

procedure TForm_B.FormCreate(Sender: TObject);
  var MemoControl: TMemo;
  var i: Integer;
  var x: Integer;
begin
  x := 0;
  for i := 1 to Numero do
  begin
    MemoControl := TMemo.Create(Self);
    MemoControl.Parent := Self;
    MemoControl.Name := 'Memo_'+ IntToStr(i);
    MemoControl.Left := 10;
    MemoControl.Top := 10 + x;
    x := x + 50;
  end;
end;

end.