Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy FTP download problem (https://www.delphipraxis.net/133011-indy-ftp-download-problem.html)

Basti1207 23. Apr 2009 19:26


Indy FTP download problem
 
Guten Abend..
Ich hab zurzeit ein komisches, aber wohl bekanntes Problem bei dem Dateidownload mit IdFTP.
Und zwar hier einfach mal der Quellcode mit dem ich versuche die Datei users.dat, die auf dem FTP Server im Hauptverzeichnis liegt, in den gleichen Ordner herunterzuladen, wo auch die .exe liegt. Danach wird eben die users.dat geladen und in ein Dynamisches Array gespeichert. Doch das Speichern in das Dyn Array sollte nicht das Problem sein, da der fehler auch auftritt wenn das Laden in die Datei entfernt ist.
Delphi-Quellcode:
begin
  IdFTP1.Username := 'username';
  IdFTP1.Password := '********';
  IdFTP1.Host := 'ftp.blablabla.de';
  IdFTP1.Connect;
  IdFTP1.Get('users.dat', 'users.dat', true);
  IdfTP1.Disconnect;
  counter := 0;
  Assignfile(datei,'users.dat');
  reset(datei);
  while not eof(datei) do begin
      inc(counter);
      setlength(Users,counter);
      read(datei,Users[counter-1]);
      end;
  closefile(datei);
Wenn ich nun den Butten drücke bekomme ich eine Fehlermeldung in der Unit "IdIOHandler" in der Zeile
Delphi-Quellcode:
raise EIdConnClosedGracefully.Create(RSConnectionClosedGracefully);
Ein wenig oben drüber steht ein Hinweis dazu..
Zitat:

If this is a CLIENT
-------------------
The server side of this connection has disconnected normaly but your client has attempted
to read or write to the connection. You should trap this error using a try..except.
Please see the help file for possible further information.
Joa, gesagt getan..
Delphi-Quellcode:
try raise EIdConnClosedGracefully.Create(RSConnectionClosedGracefully);
except;
end;
Jetzt tritt zwar keine Fehlermeldung mehr auf, jedoch bleibt das Programm hängen..

Btw: Ich hab ausführlich gegoogelt, jedoch nichts zur Lösung des Problems gefunden, lediglich das gleiche Problem jedoch ohne Antwort.

Schonmal Danke,
mfg

mjustin 23. Apr 2009 20:14

Re: Indy FTP download problem
 
Zitat:

Zitat von Basti1207
Joa, gesagt getan..
Delphi-Quellcode:
try raise EIdConnClosedGracefully.Create(RSConnectionClosedGracefully);
except;
end;
Jetzt tritt zwar keine Fehlermeldung mehr auf, jedoch bleibt das Programm hängen..

Die Exception muss nicht in der Indy-Unit mit try ... except umgeben werden, sondern im eigenen Code.

Also im einfachsten Fall (catch-all):

Delphi-Quellcode:
  try
    IdFTP1.Connect;
    // ... tu was mit FTP
    IdfTP1.Disconnect;
  except
    on E:Exception do
    begin
      ShowMessage('Ups, eine Exception ist aufgetreten: ' + E.Message);
    end
  end;

Basti1207 23. Apr 2009 20:53

Re: Indy FTP download problem
 
Aah, ok :) Danke für die schnell hilfe :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 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