Hola Ximena, acá te paso un ejemplo. es un formulario que utiliza un solo botón. Al presionarlo se crea otro botón con el "Caption = 'Ok'", y si lo presionas muestra un mensaje.
Espero te sea útil.
Saludos.
Unit Unit1;
Interface
Uses
Forms, Classes, Controls, StdCtrls;
Type
TForm1 = Class(TForm)
Button1: TButton;
Procedure Button1Click(Sender: TObject);
Procedure FormCloseQuery(Sender: TObject; Var CanClose: Boolean);
Private
(* evento creado por el usuario *)
Procedure MyClick(Sender: TObject);
End;
Var
Form1: TForm1;
Btn: TButton;
Implementation
Uses Dialogs;
{$R *.dfm}
Procedure TForm1.MyClick(Sender: TObject);
Begin
ShowMessage('Has presionado el botón!!!!');
End;
Procedure TForm1.Button1Click(Sender: TObject);
Begin
If Assigned(Btn) Then
ShowMessage('El componente ya fué creado.')
Else
Begin
Btn:= TButton.Create(Self);
Btn.Left:= 100;
Btn.Top:= 200;
Btn.Caption:= 'OK';
Btn.Parent:= Form1;
Btn.OnClick:= MyClick;
End;
End;
Procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
Begin
(* Liberar el componente de la memoria al cerrar el form *)
If Assigned(Btn) Then Btn.Free;
End;
End.