Delphi Multi Hilo [cerrado]

Estoy teniendo problemas con múltiples hilos en Delphi. Tengo una lista de nombres (alrededor de 2.000 nombres) y necesito obtener algunos datos de cada nombre en mi sitio. Mi sistema funciona perfectamente, excepto el control de hilo.

Quiero crear 10 subprocesos y, cuando finalice un subproceso, crear otro ... hasta el final de la lista.

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

Bueno, no puse el TCheck.Constructor porque el problema es el método para verificar el número de subprocesos creados. Quiero decir, mi software simplemente se detiene, sin ningún mensaje de error, a veces verifica 500 nombres, a veces 150 nombres ...

Perdón por el mal inglés.

Respuestas a la pregunta(2)

Su respuesta a la pregunta