VB不能完全退出
在WINDOWS2000下写的VB6程序编译后运行,退出,后再运行一次,提示有程序未退出,任务管理器看,果然在。运行几次存在几个。
如何使它彻底退出啊。
谢谢。
问题点数:0、回复次数:13Top
1 楼Leftie(左手,为人民币服务)回复于 2003-12-04 16:53:34 得分 0
在每个窗体的unload事件中写上:set 窗体名=nothingTop
2 楼jacky001001()回复于 2003-12-04 16:54:56 得分 0
我试过,不行啊,继续等Top
3 楼Leftie(左手,为人民币服务)回复于 2003-12-04 17:36:28 得分 0
在主窗体的结束时写上endTop
4 楼programfish(紫夜)回复于 2003-12-04 17:44:32 得分 0
关注Top
5 楼daisy8675(莫依 沉迷)回复于 2003-12-04 18:43:56 得分 0
如果你用end的話你是一定可以退出的﹐但是如果牽涉到某些主要指外部控件的時候﹐就會出現VB非法操作的問題﹐那么你會把整個程序都關掉。
具體﹕1﹐如果是多窗體﹐請檢查是否每一個都已經unload掉﹐你可以寫個循環讓每個窗體都unload.
2﹐如果用到數據庫連接﹐請關閉的時候用set conn=nothing進行完全關閉。
3﹐用到某控件﹐特別是外部控件﹐要看到底是怎么關。如果是于硬件連接的部分﹐沒有關的話﹐會沖突很麻煩。
其實必須要明白﹐窗體關閉的時候一定會經過unload,最后經過Terminate事件。如果你把unload的Cancel設置false﹐請一定在關閉的時候設置回true。否則它永遠都沒有關閉。
最后是個人遇見的一次﹐因為習慣在unload下全部關閉﹐用end﹐但是事實會出現非法操作﹐所有真正end掉程序應該寫在Terminate事件中。Top
6 楼nik_Amis(...)回复于 2003-12-04 18:51:56 得分 0
楼上说地好
Top
7 楼DemonXHunter(恶魔猎手)回复于 2003-12-04 19:03:24 得分 0
是有的窗口没有关闭
主窗口form_UNLOAD的时候加入以下代码
for each frm in forms
unload frm
next frmTop
8 楼simanh()回复于 2003-12-04 20:35:51 得分 0
同意楼上,在unload事件中查找所有资源并set nothingTop
9 楼zhujiechang(小朱)回复于 2003-12-04 21:06:07 得分 0
检查是否datareport的窗体是否没有被释放.
datareport的窗体在没有正常显示和打印的时候,需要手工用unload语句卸载.
即使用END也没办法退出.Top
10 楼TalentLi(▁▂▃▄▅ 天才的我 ▆▅▄▃▂▁)回复于 2003-12-04 21:49:11 得分 0
在每一个Form的Unload事件里加上
endTop
11 楼jpinglee(想去海边)回复于 2003-12-04 22:09:22 得分 0
很清楚了Top
12 楼zgxly2002(zgxly2002)回复于 2003-12-04 22:34:20 得分 0
我也碰过一模一样的问题,是使用关闭菜单可以正常关闭
但是用窗体右上角的打叉按钮关的话,内存还存在程序
后来,我发现主要是在主窗体的unload里,不能有end,要把end放在 sub main()里头Top
13 楼ahbbnimor(我想改行说相声)回复于 2003-12-05 17:31:22 得分 0
偶一直是用set frm = nothingTop




