我新建一个工程,把form1的formstyle设置为fsmdiform然后新建一个form2设置form2的formstyle为fsmmdichild。
我的问题是在form1中正常调用form2代码如下:
procedure TForm1.N1Click(Sender: TObject);
begin
form2:=Tform2.Create(application);
form2.Show;
end;
当我单击form2上的关闭按钮时没有任何反应。
我的问题是在form1中正常调用form2代码如下:
procedure TForm1.N1Click(Sender: TObject);
begin
form2:=Tform2.Create(application);
form2.Show;
end;
当我单击form2上的关闭按钮时没有任何反应。
self.free; 试试
begin
Action:=caFree;
end;procedure Tform2.FormDestroy(Sender: TObject);
begin
form2:=nil;
end;
Action := caFree;
用你所说的方法不行啊,要出错的。stack overflow
action:=cafree;
是什么意思,能不能说明一下啊
begin
form2.Free;
end;
action:=cafree;
或
from2.free;
均能实现。谢谢各位的帮忙现在就结帐给分。
Action := caFree; //释放
form2 := nil;
end;
这里给你执行代码:在form1(主窗体)中button的事件里写入以下代码: Application.CreateForm(TForm2, Form2);
ModalResult := mrOK;
Form2.ShowModal ;在form2(子窗体)的button的事件里写入关闭窗口:close;