使用PPL - 在delphi中使用TTask来更新UI表单对象,我们需要使用“Synchronize”方法。但是,在某些情况下,我想通过传递参数来调用方法,以便重用代码。
所以我想澄清一下,如果方法的实现如下同步会产生一些问题并且不再被认为是线程安全的吗?
TThread.Synchronize(nil,
procedure
begin
//-- Method receiving two parameters: boolean and string
UpdateUIControls(taskSuccess, taskMessage);
end);
procedure TForm.UpdateUIControls(taskSuccess: boolean; taskMessage: string)
begin
LblTaskMessage.Caption := taskMessage;
if not taskSuccess then
//Do something
end;