//线程
type
  TestThread = class(TThread)
  protected
    procedure Execute; override;
  end;var
  s_TestThread: TestThread;//鼠标单击
procedure TForm1.Button2Click(Sender: TObject);
var
  id:integer;
begin
  //下面是创建线程,请问如何把ID传给子线程?
  s_TestThread:=TestThread.Create();
end;我想到过用在定义时加上Create(ID:integer),但那样做好像行不通,请大侠们指点一二,谢谢谢!

解决方案 »

  1.   

    构造函数Create,添加一个参数
      

  2.   

    是这样吗?public
        constructor Create(ID:integer);
      end;然后Constructor SendUDP.Create(ID:integer);
    begin
      FreeOnTerminate:=True;
      //接下来怎么用呢?
      inherited Create();  //这句要不要加什么?
    end;procedure SendUDP.Execute();
    begin
      //这里怎么用到ID??
    end
      

  3.   

    type 
      TestThread = class(TThread) 
      protected 
        procedure Execute; override; 
      Public
        constructor Create(id:integer);
      end; 
      

  4.   

    前面用Private 定义一个私有变量,Create时给他赋值,可以吗?