| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1605 人关注过本帖
标题:closed,disposed區別
取消只看楼主 加入收藏
adair
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:250
专家分:0
注 册:2005-9-3
收藏
 问题点数:0 回复次数:2 
closed,disposed區別
ME.CLOSED  退出窗體,窗體還在內存中
ME.DISPOSED  退出窗體,窗體已被從內存中消費
如果FORM1中有一TIMER事件,用ME.CLOSED退出窗體,TIMER事件仍在執行.
用ME.DISPOSED退出窗體,窗體被消費,TIMER事件不存在
搜索更多相关主题的帖子: closed disposed 
2005-09-23 20:49
adair
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:250
专家分:0
注 册:2005-9-3
收藏
得分:0 
不懂DEPHI,不好意思.不过据我所知,DEPHI和VB差不多

[此贴子已经被作者于2005-10-3 10:20:13编辑过]



********年轻无极限******** 要時刻相信你自己,不要被自己打敗
2005-10-03 10:20
adair
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:250
专家分:0
注 册:2005-9-3
收藏
得分:0 
其实还有个问题。用me.disposed窗体从内存中消费。当从别的窗体中要再次打开时。它需要重建这个窗体,要重新初始化窗体上的控件。这消耗的时间比较长。所以我建义当这个窗体CLOSE后,存在于内存中不会有事件在执行时,建义用CLOSE把这个窗体关闭;当这个窗体CLOSE后,存在于内存中依然会有事件在执行时,建义用DISPOSE把这个窗体消费掉。

比如某个窗体中有TIMER事件,当用CLOSE关闭窗体时,TIMER事件依然会一直在执行。这样如果有多个类似窗体都用CLOSE关闭的话,内存消耗会很大。所以可以用DISPOSE消费掉这样的窗体。
不过,对于上面的例子,我还是建义用CLOSE关闭,不过要在关闭前先关闭掉TIMER事件(TIMER1.ENABLE=FALSE ME.CLOSE)


还有一个需要注意的就是,窗体上的“X”关闭按钮执行的时CLOSE事件。

********年轻无极限******** 要時刻相信你自己,不要被自己打敗
2005-11-27 09:54
快速回复:closed,disposed區別
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058049 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved