Clonando Formulários em tempo de execução

 

Veja a seguir como clonar formulários em tempo de execução. Para isso, crie uma nova aplicação e insira no formulário um botão e em seu evento OnClick digite:

 

procedure TForm1.Button1Click(Sender: TObject);

var

  ms: TMemoryStream;

  newform: TForm1;

begin

ms := TMemoryStream.Create;

try

  ms.WriteComponent(Form1);

  newform := TForm1.CreateNew(Application);

  ms.Position := 0;

  ms.ReadComponent(newform);

  newform.Show;

finally

  ms.Free

end;

end;

 

 

Figura 1. Exemplo em ação!