Hallo,
ich wuerde FreeOnTerminate auf true lassen und als Parameter fuer den Thread eine Callback-Funktion (zB TNotifyEvent) uebergeben.
Die Execute Methode wird also in etwa so aussehen:
Delphi-Quellcode:
procedure Thread.Execute;
begin
DoSomethingInTheWWW;
if not Terminated then Synchronize(RequestFinished);
Terminate;
end;
procedure Thread.RequestFinished;
begin
if assigned(CallbackFunc) then CallbackFunc(self);
end;
In der CallbackFunktion kannst Du die Eigenschaften des Threads abfragen, da dieser ja dann noch existiert. Kommt vorher ein Timeout, rufst Du einfach Thread.Terminate auf.