窗体的Hide,Close的不同之处?

shun3 2003-08-19 08:35:38
窗体的Hide,Close的不同之处?(内存~~~或其它的)
...全文
389 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
walkmangood 2003-08-23
  • 打赏
  • 举报
回复
hide隐藏不释放,close关闭,如果要释放action:=cafree,在close事件里写。
SStallMan 2003-08-23
  • 打赏
  • 举报
回复
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FreeAndNil()比较好
end;
shun3 2003-08-23
  • 打赏
  • 举报
回复
为什么Hide之后和Close之后一样用show显示呢?
ly_liuyang 2003-08-19
  • 打赏
  • 举报
回复
自己做实验最好的
Close是不会Free的,MainForm除外
lw549 2003-08-19
  • 打赏
  • 举报
回复
建议楼主自己看看tform的close代码。
方法:ctrl+鼠标左键,点form的close
inshua 2003-08-19
  • 打赏
  • 举报
回复
感谢楼上,我说怎么 Close 之后再 ShowModal,居然还保持了老的数据
dnazj 2003-08-19
  • 打赏
  • 举报
回复
hide不一定close, 但close一定会hide;

close的时候触发onclose事件,至于是不是释放, 可以在onclose中写代码;
hide的时候触发onhide事件.

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree; //关闭的同时释放.
end;

caNone //什么都不作
caHide //隐藏窗体
caFree //释放
caMinimize //最小化窗体

默认是 caNone
wujunwei 2003-08-19
  • 打赏
  • 举报
回复
close并没有完全释放窗体

FREE才能完全释放啊
sduzjw 2003-08-19
  • 打赏
  • 举报
回复
close后与此窗体相关的私有变量释放
PrgmLover 2003-08-19
  • 打赏
  • 举报
回复
Hide 只是把窗体隐藏起来,相当于置visable为false 。
Close 是关闭一个窗口,同时释放

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧