//自己怎么能删除自己?
//试试通知别人来实现!const
  MY_DELETE = WM_USER + 10;type
  TForm1 = class(TForm)
    procedure ButtonClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure MYDELETE(var Msg: TMessage); message MY_DELETE;
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.ButtonClick(Sender: TObject);
begin
  PostMessage(Handle, MY_DELETE, Integer(Sender), 0); //不能SendMessage//否则有会等待执行
end;procedure TForm1.MYDELETE(var Msg: TMessage);
begin
  TButton(Msg.WParam).Free;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
  with TButton.Create(nil) do begin
    Parent := Self;
    Caption := 'try';
    OnClick := ButtonClick;
  end;
end;