注册 登录
编程论坛 VB6论坛

运行之后,对结果有点疑惑,求高手指点

huyangbo21 发布于 2015-04-20 20:48, 346 次点击
Static Sub delayloop(delaytime)
   loopfinish = Timer + delaytime
   Do While Timer < loopfinish
   Loop
End Sub
Private Sub Form_Click()
  FontSize = 12
  Print "现在输出第一行"                  
  Print "等待5秒钟......"                 
  delayloop 5
  Print
  Print "现在输出第二行"
  Print "等待10秒钟......"
  Call delayloop(10)
  Print
  Print "输出第三行"
End Sub

运行结果是:1、显示“现在输出第一行”;2、等待5秒钟;3、显示“等待5秒钟.....”    空行    “现在输出第二行”;4、下面同上
我以为是:1、显示“现在输出第一行”,换行后,显示“等待5秒钟......”;2、等待5秒钟;3、输出空行后,显示“现在输出第二行”;4、略
我的理解错了吗?
2 回复
#2
风吹过b2015-04-20 21:41
代码执行优先级的问题。
在延时循环中加入 DoEvents ,以释放CPU,让低优先级(绘图函数)得到执行时间。

[ 本帖最后由 风吹过b 于 2015-4-21 08:59 编辑 ]
#3
renxiaoyao362015-04-23 18:27
暂停运行代码前如果没有DOevents会让程序未响应的(自定义控件丽的不会)
话说各位版主,简单些的问题能留给我一点么……至少每周1个吧……现在剩下的都是太难的不会啊……想帮帮别人啊……
1