请教一下各位高手:
我的开发环境是windows2000+VB6+SQL Server 2000。我的可执行文件在运行时,有时退出系统的时候结束不了任务,必须通过操作系统的任务管理器去结束任务(这种情况偶尔会出现一次),但大多数情况下退出系统时是可以自动结束任务的。麻烦各位高手多多指点!
我的开发环境是windows2000+VB6+SQL Server 2000。我的可执行文件在运行时,有时退出系统的时候结束不了任务,必须通过操作系统的任务管理器去结束任务(这种情况偶尔会出现一次),但大多数情况下退出系统时是可以自动结束任务的。麻烦各位高手多多指点!
如果是"对象没有完全释放,比如窗体没卸载完整,或者Timer事件没有执行完毕",那我应该具体怎么去处理呢?
dim f as form
for each f in forms
unload f
next
For Each obj In Forms
Unload objForm
Next
end这样就可以了
不过如果出错了而又没有处理错误,程序退出的话就会出现你说的那种情况的。
很重要!
另外加入End语句.
如果你的程序只有一个窗体的话,那么应该是你的这个窗体中的某段代码(例如包含引用本窗体内任何控件或属性的循环)还没有执行完毕,你就UNLOAD了窗体。而虽然你UNLOAD了本窗体,而那些没有执行完毕的代码段又引用的本窗体的内容,所以你的窗体再次被LOAD了,这种问题你只需要在Form_Load事件中加上me.show即可发现是这种问题,如果是这样的话,你需要在那些可能会引用本窗体内容的循环代码中添加一个模块级变量(例如:Unloading)在含UNLOAD窗体的那个按钮中的UNLOAD窗体的代码前添加Unloading=True并且添加含有DOEVENTS的空DO LOOP一会,那么你就可以达到目的了。针对在UNLOAD后加END的那个方法,会出现非法操作,因为你的程序正在重装你的窗体和控件,而同时你又用END方法结束你的程序,而这时你的程序会有很多内存正在进行读写操作,所以会非法操作,而这时你的程序有很多内存没有释放,作为一个程序员,不释放你所占用的内容就强行中断你的程序,是很不负责的表现,这样你会占用很多机器资源。如果你打开你的程序100次,你就会发现系统崩溃了。都是没有释放资源惹的祸。