程序退出为什么退不干净?

LUOLZD001 2009-12-06 12:39:31
我用VB写了个进销存系统,在退出系统时,有时退不干净,这是为什么?
...全文
167 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
孤独剑_LPZ 2009-12-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 luolzd001 的回复:]
我用VB写了个进销存系统,在退出系统时,有时退不干净,这是为什么?

[/Quote]
估计是打开了某窗体,主程序退出时,没有卸载这个窗体,推荐用4楼的方法
东方之珠 2009-12-07
  • 打赏
  • 举报
回复
end可以解决。但用End前,必须在窗体及对象都卸载、清空完毕后才能用。
贝隆 2009-12-07
  • 打赏
  • 举报
回复
应该是对象没有卸载干净,或者卸载了对象,但由于程序逻辑不严谨,在退出程序时对象处于使用状态。
赵4老师 2009-12-07
  • 打赏
  • 举报
回复
我解决这个问题是用End语句
LUOLZD001 2009-12-06
  • 打赏
  • 举报
回复
谢谢,我试试
饮水需思源 2009-12-06
  • 打赏
  • 举报
回复
在每个窗体的unload事件中写 set 窗体名=nothing
LUOLZD001 2009-12-06
  • 打赏
  • 举报
回复
谢了
三断笛 2009-12-06
  • 打赏
  • 举报
回复
end不好吧.....
对象用过以后set nothing,窗体unload,动态数组erase,Connection关闭,文件close,句柄closehand,GDI对象deleteobject.....太多了,习惯问题
大不了一个TerminateProcess
LUOLZD001 2009-12-06
  • 打赏
  • 举报
回复
谢谢各位老师
cbm6666 2009-12-06
  • 打赏
  • 举报
回复
Private Sub Form_Unload(Cancel As Integer)
call CleanAll
End Sub

'********************可以摆在 .bas 模块
Public Sub CleanAll()
On Error Resume Next
For II = Forms.Count - 1 To 0 Step -1
Unload Forms(II)
Next II
End
End Sub
vbman2003 2009-12-06
  • 打赏
  • 举报
回复
写代码要养成及时释放资源的习惯,不过依然会例外出现楼主所说的情况,比较干净的方法应该是用end
说起end许多人都会不屑,但它的确行之有效,及时释放资源+END,我常用...

7,763

社区成员

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

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