睡眠功能不按顺序工作

Posted

技术标签:

【中文标题】睡眠功能不按顺序工作【英文标题】:Sleep function will not work in sequence 【发布时间】:2016-07-04 21:29:25 【问题描述】:

几年前我写了一个 VBA excel 程序,其中包含一个使用 sleep 的动态图形,如下所示:

For i = 1 To (H - V) 'move in horizontal plane
With Selection
.Left = .Left - 3
End With
Sleep 10
Next i

我从 kernal32 调用了 sleep 函数,并在模块顶行上方使用了一行代码。一切顺利

我升级到 64 位机器 - 全部停止工作。我在 sleep 调用中添加了短语“PtrSafe”,但是现在所有的动作都发生在一个大跳跃中。程序首先执行 sleep,然后执行其他所有操作,而不会暂停。我做错了什么?

【问题讨论】:

包含睡眠的声明代码 【参考方案1】:

https://msdn.microsoft.com/en-us/library/office/gg264421.aspx

#If Vba7 Then 
Declare PtrSafe Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
#Else 
Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
#EndIf

该值以毫秒为单位,因此您可以改用Sleep 10000

【讨论】:

以上是关于睡眠功能不按顺序工作的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Swiftui 中主线程不按顺序排列

Visual Studio 2013 解决方案构建不按构建顺序

Codeigniter 限制和偏移分页不按降序工作

Lua脚本不按顺序执行

为啥 plotly 条形图在 R 中不按顺序使用我指定的颜色,我如何强制它按顺序使用我的颜色?

SIGSEGV:程序不按顺序执行