Delphiのスレッドでパラメータを渡す方法は?

Delphiでは、以下の方法でスレッドにパラメータを渡すことができます。

  1. スレッドのコンストラクタ内で引数を追加し、スレッドを作成する際に引数を渡すことができます。例:
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;
  1. スレッドの属性使用:スレッドには共通の属性を幾つか追加でき、スレッドの作成後に属性値を設定できます。例:
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メソッドの中で操作できます。

bannerAds