释放自己

procedure TForm1.Button3Click(Sender: TObject);
begin
  Sender.Free;
 end;
/*出错,用代码创建的有问题,设计时放上去没有问题,郁闷(谁能告诉我为什么),
因为Click执行完事件后还有一些后续工作,访问Sender一些资源时av,因为sender.free了,建议使用
    procedure WMLButtonDblClk(var Message: TWMLButtonDblClk); message WM_LBUTTONDBLCLK; 来代替DblClick
    procedure WMLButtonUp(var Message: TWMLButtonUp); message WM_LBUTTONUP;来代替Click
*/

procedure TForm1.FormCreate(Sender: TObject);
begin
  with TButton.Create(Panel1) do
  begin
    Parent := Panel1;
    Top := 10;
    Left := 10;
    OnClick := Button3Click;
  end;
end;

posted @ 2007-05-17 15:31  D10.天地弦  阅读(339)  评论(0编辑  收藏  举报