【问题标题】:Do timer events in Delphi happen in their own thread?Delphi中的计时器事件是否发生在它们自己的线程中?
【发布时间】:2021-03-03 02:42:44
【问题描述】:

Delphi定时器执行的时候,不是在主线程吗?

procedure TMainForm.MyTimerTimer(Sender: TObject);
begin
      MyModalDialog.StatusText.BeginUpdate;
      MyModalDialog.StatusText.Text := 'timer fired...';
      MyModalDialog.StatusText.EndUpdate;
end;

我想知道这里的崩溃是否是由于在主线程之外更新了 GUI 元素。

【问题讨论】:

    标签: delphi firemonkey delphi-10.4-sydney


    【解决方案1】:

    计时器将在主线程上执行。无需担心使用 Synchronize()。

    【讨论】:

      【解决方案2】:

      定时器事件处理程序在创建它的线程的上下文中执行。通常它是主线程,但您可以在任何线程中创建计时器。

      【讨论】:

        猜你喜欢
        • 2020-09-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多