【发布时间】:2014-06-19 12:12:55
【问题描述】:
有人可以解释一下我是如何从 myThread 调用函数测试中获取返回值的吗?
function test(value: Integer): Integer;
begin
Result := value+2;
end;
procedure myThread.Execute;
begin
inherited;
test(Self.fParameters);
end;
procedure getvaluefromthread();
var
Capture : myThread;
begin
list := TStringList.Create;
Capture := myThread.Create(False);
Capture.fParameters := 2;
Capture.Resume;
end;
【问题讨论】:
-
应该避免恢复/启动,没有必要创建暂停的线程。非创建挂起线程的实际启动是在 AfterConstruction 中完成的,它在所有构造函数都被调用后调用。
-
test()中缺少一个:=,更不用说缺少begin。 -
如果您真的是 Delphi 新手,也许线程不是您应该开始学习的地方。
标签: multithreading delphi return-value