Einzelnen Beitrag anzeigen

Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#9

AW: TidHTTP-Komponente bringt Socket Error 57: Socket is not connected

  Alt 27. Aug 2013, 06:15
Also, ich habe das ganze jetzt mal ausprobiert und mit Instruments kontrolliert.
Delphi-Quellcode:
  IdHTTP := TIdHTTP.Create;
  try
    try
      Xml := IdHTTP.Get(Url);
    except
      on E: Exception do
      begin
        ShowMessage ('Error: ' + E.Message);
        Exit;
      end;
    end;
  finally
    IdHTTP.Free;
  end;
Delphi-Quellcode:
  IdHTTP := TIdHTTP.Create;
  try
    try
      Xml := IdHTTP.Get(Url);
    except
      on E: Exception do
      begin
        ShowMessage ('Error: ' + E.Message);
        Exit;
      end;
    end;
  finally
    IdHTTP := nil;
  end;
Diese beiden Versionen nehmen sich nicht viel, was den Speicherverbrauch angeht. Hier wird bei jedem Aufruf immer so um die 700 bis 800 KB auf den gerade verbrauchten Speicherplatz dazu addiert.
Delphi-Quellcode:
  try
    if IdHTTP.Connected then
      IdHTTP.Disconnect;
    strXml := IdHTTP.Get(strUrl);
  except
    on E: Exception do
    begin
      ShowMessage ('Error: ' + E.Message);
      Exit;
    end;
  end;
Bei dieser Variante läuft das ganze etwas langsamer ab. Die Komponente liegt auf der Form und wird nur einmal beim Start der Anwendung initialisiert. Hier sind es durchschnittlich 500 bis 600 KB beim verbrauchten Speicher dazu addiert.

Die Verbrauchsangaben beziehen sich auf die komplette Ausführung des Programms und nicht nur auf die oben genannten Codebeispiele.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat