问题1:线程太多了?或许线程之间死锁了?或许Add的东西太长了,系统反应不过来,你能不能等上个12小时?问题2:只能先把参数放在某个地方(如类变量),然后让那个作为参数的函数调用另一个函数。

解决方案 »

  1.   

    to  ChinaOk(蓝蝶):
    请问"变量在create中初始化。"是不是还要重载Tmythread的create?
    怎样重载才能让其同时具备TThread的create的功能呢?
    inherited 关键字?
    详细点好么?
      

  2.   

    你看看delphi自带的demo。很详细。我就是从那里学的。.... public
        constructor Create(Box: TPaintBox; var SortArray: array of Integer);
      end;
    ....constructor TSortThread.Create(Box: TPaintBox; var SortArray: array of Integer);
    begin
      FBox := Box;
      FSortArray := @SortArray;
      FSize := High(SortArray) - Low(SortArray) + 1;
      FreeOnTerminate := True;
      inherited Create(False);
    end;
      

  3.   

    Synchronize(P)
    P是过程指针,这点你一定要明白,否则用线程同步那是白扯
    Synchronize的作用是与主线同步而不是保护。