当前位置:  开发笔记 > 后端 > 正文

如何在Visual Basic(VB6)中延迟代码执行?

如何解决《如何在VisualBasic(VB6)中延迟代码执行?》经验,为你挑选了2个好方法。

我在VB6中有一个长时间运行的进程,我想在执行下一行代码之前完成.我怎样才能做到这一点?内置功能?我可以控制等待多长时间吗?

琐碎的例子:

Call ExternalLongRunningProcess
Call DoOtherStuff

我该如何延迟'DoOtherStuff'?



1> Kris Erickso..:

虽然Nescio的答案(DoEvents)可行,但它会使您的应用程序使用100%的一个CPU.睡眠将使UI无响应.你需要的是两者的结合,似乎最有效的神奇组合是:

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

While IsStillWaitingForSomething()
    DoEvents
    DoEvents
    Sleep(55)
Wend

为什么两个DoEvents,一个睡眠55毫秒?55毫秒的睡眠是VB6可以处理的最小切片,并且在需要超响应的情况下有时需要使用两个DoEvent(不是通过API,但是如果应用程序响应外部事件,SendMessage,Interupts等).


我正在投票给你,提醒我,我不再需要做VB6了:-)

2> Nescio..:

VB.Net:我会使用WaitOne事件句柄.

VB 6.0:我见过一个DoEvents循环.

Do
     If isSomeCheckCondition() Then Exit Do
     DoEvents
Loop

最后,你可以睡觉:

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sleep 10000

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有