在一个窗口的OnClose事件中销毁自身的窗口?(30分)

  • 主题发起人 主题发起人 lunyx
  • 开始时间 开始时间
L

lunyx

Unregistered / Unconfirmed
GUEST, unregistred user!
比如我在form1中创建form2,并show,如下:
procedure TForm1.Button2Click(Sender: TObject);
begin
if not Assigned(form2) then
Application.CreateForm(TForm2,Form2);
Form2.Show;
end;
我现在要在form2的关闭时间中销毁form2;
procedure TForm2.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
FreeAndNil(self);
end;
出现异常!怎么才能实现我的想法?
 
procedure TForm2.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
// 设定这个值,窗口关闭自动释放资源
end;
 
procedure TForm2.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Form2:=nil;
Action := caFree;
end;
 
一定要设置为nil ,否则下次启动时就泡出异常了
 

Similar threads

S
回复
0
查看
896
SUNSTONE的Delphi笔记
S
S
回复
0
查看
873
SUNSTONE的Delphi笔记
S
后退
顶部