DELPHI的close不是释放窗体的,只是相当于HIDE,
窗体并不真正释放
窗体并不真正释放
解决方案 »
- HOOK OpenProcess
- 关于fastReport的应用: 如何使Master data band 中数据隔行显示不同的底色???
- 类型转换问题!
- 怎么样找出一个工程里所包含的所有窗口类?
- 征集多数据库组合查询的解决思路
- 用insert和子查询将一个表的某个字段导入另一个表
- 怎么监视用户上网时间呢?上机时间和整点报时呢?
- 终于上宽带了,爽,散分!!
- delphi与excel进行连接的问题,100
- DBGrid的送分题,快来回答啊!~~
- Rational Rouse 加入 Delphi Link 的使用,在线给分,可以多加
- 在 FORM 上,怎样实现按 Enter 键后,光标跳到下一控件,好象按 Tab 一样??
Delphi里面的类的变量其实是指向类的实例的指针。
clientFrm:=nil 只是将指针置空,并没有将指针所指的空间释放出来。
需要 clientFrm.Free 才行(但是不能写在OnClose里)
ClientFrm:=TClientInputFrm.Create(self);
ClientFrm.ShowModal;
ClientFrm.free;
ClientFrm ;= nil;
end;
begin
if ClientFrm = nil then
ClientFrm:=TClientInputFrm.Create(self);
ClientFrm.ShowModal;
ClientFrm.free;
end;
begin
if ClientFrm = nil then
ClientFrm:=TClientInputFrm.Create(self);
ClientFrm.ShowModal;
ClientFrm.free;
end;执行到ShowModal时 进入onshow事件
窗体关闭后回来 继续执行ClientFrm.free
Action:=caFree;参数:caNone,窗口不允许被关闭,点了右上角的X也没有任何事情发生
caHide,窗口没有关闭,而是隐藏,程序可以继续访问该窗口
caFree,窗口被关闭,占用的内存被释放
caMinimize,窗口被最小化,而不是被关闭,是MDI子窗口的默认Action除了MDI子窗体外,一般的窗体调用close方法时都真正被关掉了。如果你不放心,就加上Action:=caFree;吧。