制作一个计时器并在该计时器上检查状态,而不是循环。
在解释数据来自何处的评论后解决(异步 COM 组件的属性):
在实时客户端-服务器项目上使用 vb6 IDE。我必须读取一些变量,当其中一个更改状态时,它会向服务器发送一条套接字消息。随着睡眠它同样卡住
什么没有帮助:DoEvents 和 sleep
DoEvents
Sleep 100
可能有帮助,需要参考windows函数sleep。但是 VB6 是单线程的(一个用于 UI,一个用于逻辑),因此您应该有办法摆脱循环。你真正想做什么?你能描述一下顶层吗?
您是在使用 VB6 IDE 还是在 Office 中使用 VBA 代码?
为了睡眠工作声明:-
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
也看到这个https://stackoverflow.com/a/4540553/1643558
如果您向用户显示表单以读取值 1 和 2,那么您可以使用模式表单并在完成后单击按钮,并仅在您喜欢这些值时隐藏表单。那么就不需要循环了。也可以在模态表单上显示错误 MsgBox。
见http://www.tek-tips.com/viewthread.cfm?qid=1117372
也许删除睡眠并只保留 DoEvents。
您还可以制作一个计时器并在该计时器上检查状态,而不是循环