Multi Thread Delphi [zamknięte]

Mam problemy z wielowątkowością w Delphi. Mam listę nazwisk (około 2000 nazwisk) i muszę uzyskać pewne dane każdej nazwy w mojej witrynie. Mój system działa doskonale, z wyjątkiem kontroli wątków.

Chcę utworzyć 10 wątków, a po zakończeniu wątku utwórz inny ... aż do końca listy.

var
 Form1: TForm;
 tCount: Integer;  //threads count

implementation

type
 TCheck = class(TThread)
 public
  constructor Create(Name: string);
  destructor Destroy; Override;
 protected
  procedure Execute; Override;
 end;

 MainT = class(TThread)
 protected
  procedure Execute; Override;
 end;

destructor TCheck.Destroy;
begin
 Dec(tCount);
end;

procedure MainT.Execute;
var
 i: Integer;
 Load: TStringList;
begin
 Load:=TStringList.Create;
 Load.LoadFromFile('C:\mynames.txt');

 for i:= 0 to Load.Count -1 do
 begin

  if tCount = 10 then  //if we have 10 threads running...
  begin
   repeat
    Sleep(1);
   until tCount < 10;
  end;

  TCheck.Create(Load.Strings[i]);
  TCheck.Start;
  Inc(tCount);

 end;

end;  // end of procedure

Cóż, nie umieściłem TCheck.Constructor, ponieważ problemem jest metoda sprawdzania liczby utworzonych wątków. To znaczy, moje oprogramowanie po prostu się zatrzymuje, bez komunikatu o błędzie, czasami sprawdzam 500 nazwisk, czasem 150 nazw ...

Przepraszam, za słaby angielski.

questionAnswers(2)

yourAnswerToTheQuestion