以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  调用Win32Api的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=185012)

--  作者:onlyflyttn
--  发布时间:2021/4/2 15:14:44
--  调用Win32Api的问题
在调用延迟函数时,输出结果明显是整体代码首先延迟再执行,这完全违反了编写逻辑,希望VBA中能恢复Vbs的Sleep函数!
Sub StockSleep(slSecond)
Dim Wrap
Set Wrap = CreateObject("DynamicWrapperX")
Wrap.Register"KERNEL32.DLL","Sleep","i=u","r=l"
Wrap.Sleep(slSecond)
\'Set Wrap = Nothing
End Sub

Sub SleepTest
Application.MsgOut "开始"
StockSleep 3000
Application.MsgOut "结束"
End Sub


另外帖子怎么插入附件?
[此贴子已经被作者于2021/4/2 15:16:01编辑过]

--  作者:独孤求败
--  发布时间:2021/4/2 15:20:16
--  
不是的,开始显示字符串肯定是先执行了,你说的问题是因为调用sleep后导致显示阻塞了,没及时刷新出来
--  作者:onlyflyttn
--  发布时间:2021/4/2 16:29:10
--  
就是说,代码是按照逻辑执行,只不过输出延迟了?并不影响代码的目的!
--  作者:onlyflyttn
--  发布时间:2021/4/2 17:16:14
--  
谢谢,问题已解决!