VB 循环太长时间就停止响应了

一个计算量比较大的循环,用C语言做可以一直循环到结束,但是用VB就会停止响应,怎样才能让VB也一直循环下去呢?doevents是干什么的我没用到数据库,我想实现的是让它无... 一个计算量比较大的循环,用C语言做可以一直循环到结束,但是用VB就会停止响应,怎样才能让VB也一直循环下去呢?
do events是干什么的
我没用到数据库,我想实现的是让它无限循环,点击另一个命令按钮可以让循环停止,先不管怎么停止,现在只要循环一段时间就停止响应
展开
 我来答
ty20meaaa
2010-10-20 · TA获得超过476个赞
知道答主
回答量:223
采纳率:0%
帮助的人:186万
展开全部
楼主,在循环里写一句DoEvents就行了,加上他,无论多大的计算量,或多长时间的循环,都能循环下去而有响应。

Doevents就是让程序执行到这条语句时,执行其它Function或Sub的语句,这样就不会死循环了。相当于多线程

举个例子
要一个循环1000秒才后结束,如果这样写
dim i
i = timer
do until timer - i > 1000
loop
这样的话在十秒内程序就会什么都干不了,没有响应,甚至会程序崩溃。因为1000秒内程序一直在执行这个循环,不能执行别的语句。
但如果在循环体内加上doevents的话
dim i
i = timer
do until timer - i > 1000
doevents
loop
就会发现程序1000秒内可以干其它事情,不会没响应,而且1000秒后循环准时跳出,达到目的。
因为每次循环,都会执行一次doevents语句,这个语句就会让程序在这瞬间暂停执行下一句,而执行别的Function或Sub的语句。然后再跳转回来继续执行doevents的下一句,所以程序不会出现死循环

纯手打,望支持,谢谢
帐号已注销
2010-10-20 · 超过17用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:0
展开全部
LZ说的VB停止响应我可以这么认为吗?
1:数据库停止响应
如果是这个情况,那么就设置一下数据库的响应时间,在连接字符串里设置。

2:程序停止响应
理论上说,VB程序不会停止响应的,只是假死或者死屏的一种情况,LZ可以设置断点看一看循环的时间是多久,正常如果程序的循环不是上百万次的话,不会死屏的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友39b91c2fb
2010-10-20 · TA获得超过518个赞
知道小有建树答主
回答量:991
采纳率:0%
帮助的人:672万
展开全部
假死吧,在循环里面用 do events 试试看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
VS软件
2010-10-20 · TA获得超过238个赞
知道小有建树答主
回答量:1883
采纳率:0%
帮助的人:996万
展开全部
VB比较吃性能,估计是你电脑比较差
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式