有没有什么办法可以让程序不要运行太快?

trhbigbear 2004-07-27 04:38:06
有没有什么办法可以让程序不要运行太快?

我在VB编程序时,在一些比较大的运算时,比如从文本文件导入几百行数据写入数据库中。一旦开始运行,系统好像把全部的资源都用于处理它去了,程序的界面就像死机一样(有些按钮都显示不出来,用于显示状态的label控件都没法显示内容)。我看很多软件在这种情况下都运行的很自然,不象我这样象死机。我宁可它慢点处理,有什么办法吗?
...全文
97 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
HtSoft 2004-07-27
  • 打赏
  • 举报
回复
activex exe
异步执行
zyl910 2004-07-27
  • 打赏
  • 举报
回复
DoEvents的本质是执行自身线程积压的消息
levine001 2004-07-27
  • 打赏
  • 举报
回复
还有个方法,我和你换换机子就行了 :)
BlueBeer 2004-07-27
  • 打赏
  • 举报
回复
同时应该显示一个进度条(当然能显示个带动画的窗体就更好啦),让用户了解程序仍在正常工作,而不是已经死机了
脆皮大雪糕 2004-07-27
  • 打赏
  • 举报
回复
DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。

DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。

小心 确保以 DoEvents 放弃控制权的过程,在第一次 DoEvents 返回之前,不能再次被其他部分的代码调用;否则会产生不可预料的结果。此外,如果其它的应用程序可能会和本过程以不可预知的方式进行交互操作,那么也不要使用 DoEvents,因为此时不能放弃控制权。
Geo_Cra 2004-07-27
  • 打赏
  • 举报
回复
DoEvents
我还以为是问sleep呢……
sssss342072 2004-07-27
  • 打赏
  • 举报
回复
用doevents,在一大型运算前端加一Doevents,就可以了
gzhiceberg 2004-07-27
  • 打赏
  • 举报
回复
'你的数据库操作循环
do while ###
......你的数据库操作
doevents '加上这一句,转移控制权就好了
loop

7,763

社区成员

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

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