I'm having problems with multi thread in delphi. I Have a list of names (something about 2.000 names), and I need to get some data of each name in my site. My system works perfectly, except the thread control.
I want to create 10 threads, and, when some thread terminate, create another... until end of list.
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
Well, I didn't put the TCheck.Constructor because the problem is the method how I'm check the number of created threads. I mean, my software just stop, without any error message, sometimes check 500 names, sometimes 150 names...
Sorry for Bad English.
 
     
    