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

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;
出现异常!怎么才能实现我的想法?
 
J

JamesBond_L

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm2.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
// 设定这个值,窗口关闭自动释放资源
end;
 
K

kaida

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm2.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Form2:=nil;
Action := caFree;
end;
 
L

lunyx

Unregistered / Unconfirmed
GUEST, unregistred user!
一定要设置为nil ,否则下次启动时就泡出异常了
 
顶部