我正在使用SetTimer API遇到a problem。
只是出于好奇,德尔福的其他选择是什么?
TTimer
但它只是SetTimer / KillTimer 答案 0 :(得分:5)
codeproject.com/Articles/1236/Timers-Tutorial#QueueTimers这里描述了所有内容。我对使用多媒体计时器有点犹豫,但它们在Windows 8下仍然表现良好。无论哪种方式,队列计时器或多媒体计时器都会提供更好的结果。
答案 1 :(得分:3)
当您需要按照特定时间进行工作时,您还应该询问是否需要在线程中完成工作。处理计时器事件和卸载工作从主线程到单独的线程之间存在很大差异,无论是如何设置它以及它将如何执行(考虑到越来越多的硬件具有多个)核心处理器)。
执行此操作的最基本方法是从TThread继承,但并非直截了当。 (请参阅“项目新建”对话框中的“主题”,或the documentation)还有一些threading platforms for Delphi。
答案 2 :(得分:3)
我写过queue timer wrapper as a Delphi component
该项目已停止,但您可以使用TksTimer
代码或安装ksTools
包。