0

Delphi计时器执行时,它不在主线程中吗?

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

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

4

2 回答 2

4

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

于 2020-11-19T17:31:17.887 回答
1

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

于 2020-11-19T17:23:52.183 回答