高分请教:想用End结束程序,但程序过了很长时间才结束。可能的原因有那些?

bubu198 2004-12-14 01:12:08
程序中用了很多Public数组,下面是结束时的源程序:
Private Sub Form_Unload(Cancel As Integer)
If MsgBox("要结束程序吗?", vbQuestion + vbYesNo + vbDefaultButton2, Me.Caption) <> 7 Then
End
Else
Cancel = 1
End If
End If
End Sub
...全文
202 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
头发依旧浓密 2004-12-14
  • 打赏
  • 举报
回复
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim ExitMsg As String
ExitMsg = MsgBox("退出系统?", vbInformation + vbYesNo, "退出")
If ExitMsg = vbYes Then
Cancel = 0
Else
Cancel = 1
End If
End Sub

应该放在QueryUnload事件中
yunyu97 2004-12-14
  • 打赏
  • 举报
回复
程序结束的时候需要释放所占用的内存空间,用End结束程序之前你最好手动的把模块级变量释放掉,这样调试的时候可以节省不少时间。如果你的数组使用诸如Dim MyArray() As Long之内的方法动态定义的,在结束程序之前用Erase方法将数组释放掉就行了。
True1024 2004-12-14
  • 打赏
  • 举报
回复
单看你的代码没什么问题,主要的原因应该在其他地方。
你最好 把End 换成 Unload me
set Form = nothing
cindytsai 2004-12-14
  • 打赏
  • 举报
回复
把所有的窗体全部关上:
If MsgBox("确定退出本系统吗?", vbQuestion + vbYesNo, "退出系统") = vbYes Then
For Each Form In Forms
Unload Form
Next Form
End If

7,763

社区成员

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

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