Articles

It 3 steps for dublicate component at runtime. First is copy the component in clipboard. Second is rename component which is still on the form. And the last step is get component from clipboard. Don't forget to register your component's class.

uses Clipbrd;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
  Clipboard.SetComponent(Button1);
  Button1.Name:='OriginalButton';
  Clipboard.GetComponent(Self,GroupBox1);
end;
...
initialization
  RegisterClasses([TButton]);
...