gpt4 book ai didi

delphi - 为什么 TTimer 不能正常工作?

转载 作者:行者123 更新时间:2023-12-03 18:59:33 25 4
gpt4 key购买 nike

如您所知,我在使用 Delphi 2010 开发的应用程序中的 TTimer VCL 组件遇到了一些问题。

每当我打电话时:

Self.Timer1.Enabled := False;
Self.Timer1.Enabled := True;

计时器组件似乎确实停止了,但是它永远不会再次启动。就像,它从不调用 OnTimer 事件。

我将它与 Indy10 IRC 组件 (TIdIRC) 结合使用。

提前致谢 :)

最佳答案

您必须确保调用 TTimer 的这些方法。仅在主线程的上下文中。由于 Indy 使用线程,因此很可能违反了此规则。要轻松查找,您可以调用Assert当代码在另一个线程的上下文中执行时:

Assert(GetCurrentThreadId = MainThreadId);
Self.Timer1.Enabled := False;
Self.Timer1.Enabled := True;

不知道是什么 Self在您的代码中引用,但值得尝试。

关于delphi - 为什么 TTimer 不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3750359/

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