VB6应用程序停止响应

Vin*_*cha 5 vb6 windows-process

我有一个用VB6编写的程序,它读取一个长文本文件并执行很长时间的操作.我也实现了进度条,但我的问题是,在我的程序说"没有响应"之后,它在任务完成时再次开始响应.

如何删除此"无响应"问题?

Dea*_*nna 7

如果进程太长而没有处理任何消息,Windows /资源管理器会将进程更改为"无响应"状态.在VB6中,在没有调用的情况下运行很长的代码段时会发生这种情况DoEvents.

不幸的是,VB6不容易做多个线程,所以你最好选择DoEvents在操作期间定期调用.理想情况下,这只是在更新进度条位置之后.

这样做时,您需要小心防止重新入侵.这很容易通过在长操作开始时禁用控件并在完成时重新启用它们.如果要取消它们,则需要使用在取消按钮单击事件中设置的布尔值,并调用后进行检查DoEvents.