线程单元:
constructor sortthread.create(memo:TMemo);
var
i:integer;
begin
  for i:=0 to 40000 do
  begin
  memo.Lines.Clear;
  Memo.lines.add(inttostr(i));
  end;
end;主窗体调用线程:
procedure TForm1.Button1Click(Sender: TObject);begin
   sortthread.create(memo1);
end;

解决方案 »

  1.   

    在creat过程里加一句:inherited Create(true);即可因为你重载了Creat方法,需要调用原方法进行必要的初始化
      

  2.   

    怎么我调用了inherited Create(false);也可以呢 ?
      

  3.   

    初始化有多种方式,参数决定是否为同步线程,一般设为T,具体可以参看classes.pas里的实现代码
      

  4.   

    这个是因为你新创建了一个Create方法,对于线程对象如果要创建其它Create方法,一定在Create过程里调用它原来的Create方法,如果不调用那就没有创建线程。