在TThread中启用AniIndicator1,而不是在FMX的主进程中,可以通过以下步骤实现:
procedure TMyThread.Execute;
begin
// 执行后台任务
// ...
// 在主线程中更新UI界面
TThread.Synchronize(nil,
procedure
begin
Form1.AniIndicator1.Enabled := True;
end);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
// 创建并启动TMyThread线程
MyThread := TMyThread.Create(True);
MyThread.FreeOnTerminate := True;
MyThread.Start;
end;
这样,当TMyThread线程执行到TThread.Synchronize方法时,会在主线程中调用匿名方法,从而在主线程中启用AniIndicator1。
需要注意的是,由于AniIndicator1是在主线程中创建的,因此在TThread中启用它时,需要通过TThread.Synchronize方法在主线程中进行操作,以避免跨线程访问UI界面的问题。
关于TThread、TThread.Synchronize和AniIndicator1的详细信息,可以参考以下链接:
领取专属 10元无门槛券
手把手带您无忧上云