当前位置 : 主页 > 编程语言 > c语言 >

VB6应用程序停止响应

来源:互联网 收集:自由互联 发布时间:2021-06-24
我有一个用VB6编写的程序,它读取一个长文本文件并执行很长时间的操作. 我也实现了进度条,但我的问题是,在我的程序说“没有响应”之后,它在任务完成时再次开始响应. 如何删除此“
我有一个用VB6编写的程序,它读取一个长文本文件并执行很长时间的操作.
我也实现了进度条,但我的问题是,在我的程序说“没有响应”之后,它在任务完成时再次开始响应.

如何删除此“无响应”问题?

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

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

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

网友评论