标题:closed,disposed區別
只看楼主
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
snakealpha
Rank: 1
来 自:扬州
等 级:新手上路
威 望:1
帖 子:267
专家分:0
注 册:2005-11-5
得分:0 
非监管类,程序退出时最好是用DISPOSE手工弄一下,借助垃圾收集器的话效率挺低的

天涯也有江南信
梅破知春近
夜阑风细得香迟
不道晓来开遍向南枝
2005-11-27 13:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-28506-1-1.html




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

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