Hola,
Falta que asignes un "padre" para el botón. El "padre" se hará cargo del botón... en cierto modo, puesto que cuando el "padre" se destruya este destruirá al propio botón... un padre raro... (acabo de ver
El resplandor del inconmensurable
Stanley Kubrick)... pero vamos al caso...
Código Delphi
[-]
unit Unit1;
interface
uses
Forms, Classes, Controls, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
FBotonHolaMundo: TButton;
procedure SaludaHombre(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
Dialogs;
procedure TForm1.FormCreate(Sender: TObject);
begin
FBotonHolaMundo := TButton.Create(Self);
with FBotonHolaMundo do
begin
Parent := Self;
Caption := '¡Hola mundo!';
SetBounds(10, 10, 75, 25);
OnClick := SaludaHombre;
end;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
FBotonHolaMundo.Free;
end;
procedure TForm1.SaludaHombre(Sender: TObject);
begin
if (Sender is TButton) and
(TButton(Sender).Caption = '¡Hola mundo!') then
ShowMessage(TButton(Sender).Caption);
end;
end.