计时器 运行、while 循环是否处于活动状态?

Are timers running, while loops are active?

这是我的代码:

setTimer(delay, (SEEDKEY_MAXTRY * SEEDKEY_FREQ) + (LOGIN_MAXTRY * LOGIN_FREQ));
do {
    // waits, until all operations have been executed;  
} while(isTimerActive(delay));

我确切地知道执行我的命令需要多长时间,所以我将计时器 delay 设置为明确的值。我必须等待,直到 return 一些值。

此时模拟卡住,我的面板进入 Windows-"No response",我可以结束模拟的唯一方法是通过任务管理器。

我认为唯一的解释是,当我在 do ... while 语句中时,计时器需要更多时间,或者根本不执行。 (与 while {} 相同)

有人可以证实这个想法,或者给我一个解决问题的方法来证明我是错的吗?

好吧,我总能找到解决方法,因为 CAPL 在 Whosebug 上不太流行...


想知道的读者:

我只是使用了一个全局状态变量来限制用户在我的处理完成之前执行该操作。