Thema: Indy Thread

Einzelnen Beitrag anzeigen

nru

Registriert seit: 30. Mai 2008
Ort: Bonn
40 Beiträge
 
Delphi 7 Enterprise
 
#1

Indy Thread

  Alt 28. Mär 2013, 16:32
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;
  Mit Zitat antworten Zitat