Delphiのスレッドでパラメータを渡す方法は?
Delphiでは、以下の方法でスレッドにパラメータを渡すことができます。
- スレッドのコンストラクタ内で引数を追加し、スレッドを作成する際に引数を渡すことができます。例:
type
TMyThread = class(TThread)
private
FParam: Integer;
public
constructor Create(Param: Integer);
procedure Execute; override;
end;
constructor TMyThread.Create(Param: Integer);
begin
inherited Create(True);
FParam := Param;
end;
procedure TMyThread.Execute;
begin
// 使用 FParam 做一些操作
end;
// 创建线程并传递参数
var
MyThread: TMyThread;
begin
MyThread := TMyThread.Create(123);
MyThread.Start;
end;
- スレッドの属性使用:スレッドには共通の属性を幾つか追加でき、スレッドの作成後に属性値を設定できます。例:
type
TMyThread = class(TThread)
private
FParam: Integer;
public
property Param: Integer read FParam write FParam;
procedure Execute; override;
end;
procedure TMyThread.Execute;
begin
// 使用 Param 做一些操作
end;
// 创建线程并设置参数
var
MyThread: TMyThread;
begin
MyThread := TMyThread.Create(True);
MyThread.Param := 123;
MyThread.Start;
end;
いずれの手法もスレッドにパラメーターを渡すために使用できます。渡されたパラメーターはスレッドのExecuteメソッドの中で操作できます。