标题:在窗体form1的unload事件中写:set form1=noting:end ,有意义吗?
取消只看楼主
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
结帖率:86.25%
已结贴  问题点数:20 回复次数:3 
在窗体form1的unload事件中写:set form1=noting:end ,有意义吗?
在窗体form1的unload事件中写:set form1=noting:end ,有意义吗?
----------------------------------
对于只有一个窗体的程序,我发现有些网友在窗体的unload事件中这样写:

Private Sub Form_Unload(Cancel As Integer)
    Set Form1 = Nothing
    End
End Sub

估计作者的本意是,在窗体unload后,执行 set form1=nothing,然后执行 end,但是我认为这样写有问题:
1.在unload事件中写 set form1=nothing 不会起作用,因为此时窗体没有被unload,所以 set form1=nothing也不会生效.
2.此时执行end,会造成unload事件无法正常执行完毕,即没有执行unload,就会end了,此时会造成内存泄漏

我的理解不知对不对,请大家说说,谢谢.
搜索更多相关主题的帖子: end noting unload set 窗体 
2009-08-11 16:50
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
得分:0 
我是想问:
在form1的unload事件中,执行
set form1=nothing
end
 
这样做有没有问题,因为 set nothing 是unload后需做的事情,但是在unload中就执行 set form=nothing会不会无效呢?
另外:
此时执行 end  会不会也会使 unload 不能正常完成呢?

2009-08-11 17:00
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
得分:0 
以下是引用bczgvip在2009-8-11 17:24的发言:能完成特定的功能就有意义,反之没意义.我不是作者,你看着办.    Set Form1 = Nothing     Debug.Print (Form1 Is Nothing) end 会使 unload 不能正常完成.
我也想测试一下,但是不知如何下手,您有测试的好方法吗?

2009-08-11 21:50
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
得分:0 
我测试发现,在 unload 事件中,写 set form1=nothing
确实有意义,可以起到释放内存的作用.

并不是我理解的那样.

2009-08-12 08:04



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




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

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