Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Seltsamer Fehler beim Downloaden mit Indy (https://www.delphipraxis.net/41576-seltsamer-fehler-beim-downloaden-mit-indy.html)

Neutral General 5. Mär 2005 13:07


Seltsamer Fehler beim Downloaden mit Indy
 
Ich downloade Dateien mit dieser Procedure.

Delphi-Quellcode:
procedure Downloaden(Datei : String; Dest : String);
var
 Download: TFilestream;
begin
 Download := TFileStream.Create(Dest,fmCreate);
 try
  try
   Form1.IDHTTP1.Get(Url + Datei, download);
   ShowMessage(SysErrorMessage(GetLastError));
  except
   Form1.Progressbar1.Position := 0;
   ShowMessage('Download fehlgeschlagen !');
  end;
 finally
  Download.Free;
 end;
end;
Also Textdateien funktionieren aber wenn die Datei größer werden dann kommt der Fehler.
Das seltsame ist : Wenn ich mir mit GetLastError den letzten Fehler anzeigen lasse dann bekomme ich die Meldung : "Das Fenster hat keine Bildaufleiste" -.-
Was hat das bitteschön mit dem downloaden zu tun ? :roll:

Die Muhkuh 5. Mär 2005 13:16

Re: Seltsamer Fehler beim Downloaden mit Indy
 
Wie rufst du das auf?

Luckie 5. Mär 2005 13:23

Re: Seltsamer Fehler beim Downloaden mit Indy
 
Zitat:

Zitat von Neutral General
Wenn ich mir mit GetLastError den letzten Fehler anzeigen lasse dann bekomme ich die Meldung : "Das Fenster hat keine Bildaufleiste" -.-
Was hat das bitteschön mit dem downloaden zu tun ? :roll:

Gar nichts. Das ist die verbuggte VCL. Setz am Anfang der Routine mal
Delphi-Quellcode:
SetLastError(0);

scp 5. Mär 2005 13:40

Re: Seltsamer Fehler beim Downloaden mit Indy
 
Die Indys arbeiten viel mit Exceptions, GetLastError nützt da nicht viel.
Baue doch einfach in except forgendes ein:
Delphi-Quellcode:
uses
  IdException;

//....

  except
    On E: EIdSocketError do
      ShowMessage(IntToStr(E.LastError) + ': ' +  E.Message);
    On E: EIdProtocolReplyError do
      ShowMessage(IntToStr(E.ReplyErrorCode) + ': ' +  E.Message);
    On E: EIdException do
      ShowMessage(E.Message);
    else
      raise;
  end;

Neutral General 5. Mär 2005 13:50

Re: Seltsamer Fehler beim Downloaden mit Indy
 
Sorry das ich die DP mit so einer dummen Frage zumülle ...

Delphi-Quellcode:
procedure Downloaden(Datei : String; Dest : String);
var
Download: TFilestream;
begin
Download := TFileStream.Create(Dest,fmCreate);
try
  try
   Form1.IDHTTP1.Get(Url + Datei, download); // 1* Url
   ShowMessage(SysErrorMessage(GetLastError));
  except
   Form1.Progressbar1.Position := 0;
   ShowMessage('Download fehlgeschlagen !');
  end;
finally
  Download.Free;
end;
end;
Delphi-Quellcode:
Downloaden(Url + Datei[0].Url,irgendwohin);// + 1*Url = 1*Url zuviel -.-
Tja und dann kommt bei
http://www.ka.de/hallo/Datei.dat
http://www.ka.de/hallo/http://www.ka.de/hallo/datei.dat

raus und das funktioniert eben nicht :mrgreen:

scp 5. Mär 2005 13:58

Re: Seltsamer Fehler beim Downloaden mit Indy
 
Soll das jetzt heissen, Fehler gefunden, Problem erledigt?

Neutral General 5. Mär 2005 14:01

Re: Seltsamer Fehler beim Downloaden mit Indy
 
Ja ich hatte ja die Url als parameter übergeben und in der Procedure intern nochmal hinzugefügt so das dann Url + Url + Dateiname rauskam, was eine Url zuviel ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz