gpt4 book ai didi

delphi - 一次性定时器

转载 作者:行者123 更新时间:2023-12-03 14:46:02 24 4
gpt4 key购买 nike

亲爱的 Delphi 程序员,

我正在寻求如何编写一次性计时器的帮助(没有 GUI,所以 VCL 计时器是不可能的)...

让我再解释一下。

在我的代码中(用 VCL 计时器解释,但在这个特定项目中我没有表单):

  1. 调用通过串行端口发送字符的过程
  2. 启用具有 X 个间隔的计时器

OnTimer 事件中:

我有一个代码,它发送一个字符,然后禁用计时器本身,使其不再执行。

问题是我需要动态创建这些计时器。我想到了“OnTimer 事件”中的函数 SetTimer()KillTimer() 来禁用它(释放它)。

这是一个好的(安全)方法吗?

谢谢!

最佳答案

从计时器事件内部终止计时器安全吗?

是的,这是绝对安全的。

如何实现最简单的一次性计时器?

1 秒一次性计时器的最简单实现是这样,但请注意,如果您启动更多计时器,您将无法区分其中哪一个已经过了其间隔:

procedure TimerProc(hwnd: HWND; uMsg: UINT; idEvent: UINT_PTR;
dwTime: DWORD); stdcall;
begin
KillTimer(0, idEvent);
ShowMessage('I''m done!');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
SetTimer(0, 0, 1000, @TimerProc);
end;

关于delphi - 一次性定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13944301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com