Hallo ihr,
hat das seine Richtigkeit, dass der von
Indy 10 für die Connection aufgemachte Thread auch nach FreeAndNil() bestehen bleibt? Denn nach der folgenden proc zeigt mit der Taskmanager 2 Threads für den Prozess an. Ich würde aber erwarten bzw. davon ausgehen, dass der Thread auch wieder beendet wird.
Hintergrund der Frage ist, dass ein fortlaufender http-Abruf eines RSS-Feeds in einem anderen Projekt massig Threads produziert. Dem wollte ich mal auf den Grund gehen.
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
FHTTP: TIdHTTP;
begin
FHTTP := TidHTTP.Create(
nil );
try
try
FHTTP.Head( '
http://www.chip.de' );
if (FHTTP.ResponseCode <> 200)
then begin
raise Exception.Create( '
Probleme mit dem Netz! Fehler: ' + FHTTP.ResponseText );
end;
memo1.Lines.add( '
Abruf erfolgreich' );
except
on E:
Exception do begin
memo1.Lines.add( '
Abruf NICHT erfolgreich' );
Delay(500);
end;
end;
finally
FHTTP.Disconnect;
end;
FreeAndNil( FHTTP );
end;