| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1243 人关注过本帖
标题:在窗体form1的unload事件中写:set form1=noting:end ,有意义吗?
只看楼主 加入收藏
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
结帖率:86.25%
收藏
已结贴  问题点数:20 回复次数:7 
在窗体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
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:5 
能完成特定的功能就有意义,反之没意义.我不是作者,你看着办.

    Set Form1 = Nothing
    Debug.Print (Form1 Is Nothing)

end 会使 unload 不能正常完成.
2009-08-11 17:24
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:5 
我认为,“Set Form1 = Nothing”语句本身没有意义。但具体执行完之后有没有被Unload,有待实验证实,这个实验是有意义的。
至于内存泄露,我觉得不会。进程结束了自然会释放所占一切内存。
2009-08-11 17:33
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
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:10 

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

并不是我理解的那样.

2009-08-12 08:04
yyjz
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2009-7-27
收藏
得分:0 
2009-08-13 10:29
快速回复:在窗体form1的unload事件中写:set form1=noting:end ,有意义吗?
数据加载中...
 
   



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

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