请问:
form1.close;
active:=cafee;
form1.free;
有何区别?
是否form1.close;关闭窗体并不释放窗体和其上控件占用资源?
active:=cafree;既关闭窗体又释放所有资源?
active:=cafree等同form1.free;?
还有我试了一下active:=cafree;提示can't assign a read only property。
why?
再:释放了主窗体就不需释放其他窗体了吗?
虽然问题简单,但是还请有人彻底解答!
上个贴子没人回答彻底,希望这个能解吾之惑。
form1.close;
active:=cafee;
form1.free;
有何区别?
是否form1.close;关闭窗体并不释放窗体和其上控件占用资源?
active:=cafree;既关闭窗体又释放所有资源?
active:=cafree等同form1.free;?
还有我试了一下active:=cafree;提示can't assign a read only property。
why?
再:释放了主窗体就不需释放其他窗体了吗?
虽然问题简单,但是还请有人彻底解答!
上个贴子没人回答彻底,希望这个能解吾之惑。
解决方案 »
- 【押宝党】无聊死!
- delphi 中如何创建多级目录?
- delphi---B/S?
- help,怎么实现网络拓扑图
- 请问各位大侠:程序动态创建的临时表到底存放到哪里去了,怎么找到它!!急啊,在线等待!!
- 怎样向sql数据库中存储word或excel文档资料
- 关于局域网内delphi6连接sql server2000的问题
- 图像打印问题:打出来是全黑块!!!!
- 我在程序中使用了最新的TMS Component pack 控件后,运行时提示'property initsortdirection does not exist'的错误信息,请问是不是控件
- 除了李维的书之外,另外讲述这DELPHI来开发这ASP对象的书呢有哪些了???
- 如何改变其范围啊
- 有没有cardinaltostr这类的函数?
如果form1是主窗口,则释放所有的资源。如果是子窗口,则要在onclose(非模式窗体)事件中加入active:=cafee;才能释放该窗口的资源,否则只是关闭窗口的显示。
form1.free;
如果是模式窗体,active:=cafee;也不能释放所占资源,这时在showmodal;后加上一行,form1.free,即可释放该窗体所占用的资源了。
补充说明一下:
我用FreeAndNil会更好。
1、是不是在form1.close后释放了所有窗体的资源呢?
2、什么是非模式窗体,什么是模式窗体?
2。模式窗口就是弹出窗口,它弹出后,这个窗口前面的窗口不能被操作。
如,拖动等等,ShowMessage函数创建的窗口就是模式窗口,我习惯叫摸态窗
口。
3。你说的active:=caFree是错的。如果一个窗口不是主窗口,在一般情况下,点击
窗口的叉叉按钮时,实际不是释放该窗口,而仅仅是隐藏了该窗口,相当与调用
了该窗口的hide方法,你在需要时还可以把它show出来。如果你在该窗口的
onclose事件中写入了代码。如下:
procedure TForm2.FormClose(Sender: TObject; var Action:
TCloseAction);
begin
Action := caFree;
end;
那么在点该窗口的叉叉时,该窗口就会释放。注意不是active:=cafee;
但是:
1、点击主窗体的叉叉将主窗体关闭时(不在form1.onclose过程中加入form1.close;)是不是就释放了所有的资源呢?
别嫌我烦,问完我就明白了。
在线等待,立刻结贴。