这一小段有错误么???

cnlomo 2009-07-05 07:07:06

Public Sub Quit()
Dim X As Form
For Each X In Forms
Unload X
If X.hwnd <> Me.hwnd then Unload X
set X = Nothing
Next
End Sub
...全文
16 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
东方之珠 2009-07-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cnlomo 的回复:]
引用 2 楼 myjian 的回复:

这几句在功能上,应该是冲突的.

如果只要1,3,则是卸载所有窗体;

反之,只卸载自己以外的窗体.

并不应该一起出现.

不好意思,我写错了
VB codePublicSub Quit()Dim XAs FormForEach X In FormsIf X.hwnd<> Me.hwndthen Unload Xset X=NothingNextEnd Sub
[/Quote]

set X = Nothing是余的。


应该这样:


Public Sub Quit()
Dim X As Form
For Each X In Forms
If X.hwnd <> Me.hwnd then Unload X
'set X = Nothing
Next
End Sub



slowgrace 2009-07-05
  • 打赏
  • 举报
回复
那你直接 UnLoad Me不行么?
cnlomo 2009-07-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 myjian 的回复:]

这几句在功能上,应该是冲突的.

如果只要1,3,则是卸载所有窗体;

反之,只卸载自己以外的窗体.

并不应该一起出现.
[/Quote]
不好意思,我写错了

Public Sub Quit()
Dim X As Form
For Each X In Forms
If X.hwnd <> Me.hwnd then Unload X
set X = Nothing
Next
End Sub

slowgrace 2009-07-05
  • 打赏
  • 举报
回复
to myjian: 我觉得set X = Nothing也是多余的。
嗷嗷叫的老马 2009-07-05
  • 打赏
  • 举报
回复
Unload X
If X.hwnd <> Me.hwnd then Unload X
set X = Nothing

这几句在功能上,应该是冲突的.

如果只要1,3,则是卸载所有窗体;

反之,只卸载自己以外的窗体.

并不应该一起出现.
slowgrace 2009-07-05
  • 打赏
  • 举报
回复
Public Sub Quit()
Dim X As Form
For Each X In Forms
Unload X
If X.hwnd <> Me.hwnd then Unload X '至少的话,这一句没用:)
set X = Nothing
Next
End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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