我编写了一个函数来递归搜索与表单上的对象关联的文件,我在一个单独的线程中运行此函数,因此UI线程不是问题。
如何使用Synchronize,我调用具有参数的函数?
递归函数是否调用了Synchronize命令,我有合理的正确性?
同步模式是否具有相同的返回所有呼叫?
答案 0 :(得分:6)
您可以使用匿名方法拨打电话:
procedure TMyThread.Execute;
var
MyParameter: Integer;
begin
MyParameter := 42;
Synchronize(
procedure
begin
MethodWithParameter(MyParameter);
end
);
end;
答案 1 :(得分:2)
您可以执行以下操作:
...
FMyValue := Xyz;
Synchronize(MyProc);
...
Procedure TMyThread.MyProc;
begin
VclProc(FMyValue)
end;