我的程序中有一个主窗体frmMain
还有一个多文档窗体(如果打开后,里面加载了四个同样的form)
还有一个不可见的窗体
在点击frmmain中的按钮后 还会弹出其他窗体现在 想只要关闭frmMain,其他的窗体都一起退出,完全关闭程序
该如何写代码?现有的代码如下:
Private Sub Form_Unload(Cancel As Integer)
on err goto display (此处省略一些退出前处理)display:
' For i = Forms.Count - 1 To 1 Step -1
' Unload Forms(i)
' Next For Each frm In Forms
Unload frm
Next
exit sub
还有一个多文档窗体(如果打开后,里面加载了四个同样的form)
还有一个不可见的窗体
在点击frmmain中的按钮后 还会弹出其他窗体现在 想只要关闭frmMain,其他的窗体都一起退出,完全关闭程序
该如何写代码?现有的代码如下:
Private Sub Form_Unload(Cancel As Integer)
on err goto display (此处省略一些退出前处理)display:
' For i = Forms.Count - 1 To 1 Step -1
' Unload Forms(i)
' Next For Each frm In Forms
Unload frm
Next
exit sub
'Set Form1 = Nothing
End '全完了
End Sub
Dim nCount As Integer
Dim i As Integer
nCount = Forms.Count - 1
For i = nCount To 1 Step -1
Unload Forms(i)
Next
End Sub
但是发现 使用了end之后
运行源代 则退出正常
但是 编译成exe后,退出 则提示:unknown software exception
结果 我就只能来求各位给个好办法
For Each frm In Forms
Unload frm
Next
而且怎么说,个人认为,加on error goto ...这样出错处理是对的,但在程序调试阶段,最好不要用,尽早发现错误!!!
你只要把for语句放到正常代码后面,应该能完全退出!
我这样做的目的是,前面还有一些退出前的操作
保证在这些操作出错的情况下,系统仍然能够退出
但是 其中有一个定时器 在unload frmmain还在运行
而其他的定时器都关闭了
这种奇怪的现象 ,大家是否遇到过?
但是在我的程序中的其他窗体 以及模块中 都没有调用该定时器。
end好象可以执行吧~