VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3341|回复: 20

关于循环等待问题

[复制链接]

3

主题

10

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-1-26 22:20:01 | 显示全部楼层 |阅读模式
在一个长时等待的循环中,大家都是怎样做的?
回复

使用道具 举报

0

主题

5

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-2-19 02:45:01 | 显示全部楼层
DoEvents
回复

使用道具 举报

3

主题

10

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
 楼主| 发表于 2020-2-20 21:15:01 | 显示全部楼层
在嵌套循环中都用DoEvents能不能引起问题,比如程序暂时没有响应,需要操作一下才会继续运行的情况。
回复

使用道具 举报

0

主题

21

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
发表于 2020-3-3 10:45:01 | 显示全部楼层
Screen.MouseIcon = vbHourglass
完了之后再:
Screen.MouseIcon=vbDefault

DoEvents的话
确保以 DoEvents 放弃控制权的过程,在第一次 DoEvents 返回之前,不能再次被其他部分的代码调用;否则会产生不可预料的结果。此外,如果其它的应用程序可能会和本过程以不可预知的方式进行交互操作,那么也不要使用 DoEvents,因为此时不能放弃控制权。
回复

使用道具 举报

3

主题

10

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
 楼主| 发表于 2020-3-12 13:15:01 | 显示全部楼层
我的意思是程序正常应该继续走的,但却出现了不运行的状态,要点一下界面才能继续运行,不知是不是DoEvents引起的
回复

使用道具 举报

0

主题

11

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
发表于 2020-8-14 17:00:01 | 显示全部楼层
是的。DoEvents决对可以导致这个问题,四不像君 说的很清楚。
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-8-14 17:45:01 | 显示全部楼层
"出现了不运行的状态" 什么意思?
DoEvents作用是暂时停止当前过程或方法在DoEvents下面的语句执行,让系统得以处理消息队列中其它的消息任务,处理完再返回DoEvents下面的语句继续执行,不需要人手工点界面呀!
你的问题应不是DoEvents引起的
回复

使用道具 举报

0

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-8-14 20:00:01 | 显示全部楼层
小心使用DoEvents
回复

使用道具 举报

2

主题

6

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-8-14 21:30:01 | 显示全部楼层
在一个长时等待的循环中,大家都是怎样做的?  

1、 一般是用“进程条”来提醒循环的进程

2、用do 循环代替 for 循环,中间加doevents

3、DoEvents在一个循环中只能出现一次,不能嵌套,否则出错
回复

使用道具 举报

0

主题

5

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-8-15 12:00:01 | 显示全部楼层
谁因为使用DoEvents出现问题,把程序代码发上来看看,这怎么能说小心使用呢??
不会是你们不会用吧!For循环==各种语句使用不当都会带来问题,难道都要所谓的小心使用??
只要方法对,DoEvents会出现什么问题?
你不可能在DoEvents暂停时,在去调用谁。即使当前过程被调用也没有什么影响,就像递归函数,自己调用自己哪里不行??
答:写错了不行!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表