Потому что делается это не так.
У тебя поток обрабатывает 1 ссылку.
Соответсвенно, тебе надо эту ссылку потоку передавать извне.
Код:
// Поток
type
TMyThread = class(TThread)
private
FURL : String;
...
public
constructor Create(CreateSuspended : Boolean; AURL : String);
...
constructor TMyThread.Create(CreateSuspended : Boolean; AURL : String);
begin
inherited Create(CreateSuspended);
FURL := AURL;
...
end;
// Вызов потоков
procedure TForm1.Button1Click(Sender: TObject);
var
I : Integer;
L : TStringList;
A : Array Of TMyThread;
begin
L := TStreingList.Create;
L.LoadFromFile('urls.txt');
SetLength(A,L.Count);
For I := 0 To L.count-1 Do
A[i]:=TMyThread.Create(False,L[i]);
L.Free;
end;