在form1中通过 Tform2.create(self).show 建了张form2
现在如何在form2中将它关掉,close不行的
现在如何在form2中将它关掉,close不行的
解决方案 »
- 谁有斗地主的源码,能给一个吗?
- 关于备份数据库的问题
- 菜单问题,17:00前结贴。
- 如何将FORM中的EDIT分成若干个组?并可以象VB 一样进行批处理?
- BDE连接FOXPRO怎么设置啊!!!谢谢了
- 如何设置菜单的文字字体大小?
- Emergency!!!!报表报表还是报表!怎样把查询的结果生成相应的报表?Right here waiting!
- 请问如何创建只有输入密码后才能停止的系统服务?
- 我有listbox1和listbox2,我想选择listbox1中的内容点击按钮就能到listbox2中.
- 一个简单的问题,类型验证
- 请问怎样把一些功能选项保存起来,并把它读出来
- 在线等待!与刚才的相同,是关于Delphi的日期问题。
Action := caFree 就可以Free它了!!!
begin
Show;
Close;
end;然后,在form2的OnClose事件中写代码:
action:=caFree;
如果不是那么你在Form2中是不是这样写form2.close?
这样不行必须这样close就可以了;
form2 := nil;
action:=caFree;
form2:=nil;
begin
Show; //不会等待,继续执行,
Close; //马上Close ,并Free 了,哈哈哈哈
end;然后,在form2的OnClose事件中写代码:
action:=caFree;用ShowModal 用这种方法还差不多。
Action := caFree;
要在其 OnDestroy 事件是添加如下代码
Action := caFree;
最好再加上一句
Form2 := nil;
这样做是因为避免在程序他处对 Form2 进行有效性判断的时候不正确。如果不是 MDI 子窗口的话那就再简单了
只要调用那个窗口类对象的 Close 过程。
当然了,你是要保存对这个窗口对象的引用的
with TForm2.Create(Self) do
begin
Show
//...
end;
应该这样
DynaFrm := TForm2.Create(Self)
DynaFrm.Show;
在其他地方就可以这样关闭动态生成的窗口。