Delphi-PRAXiS

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

cruso 25. Nov 2006 18:18


FTP download
 
Hi!

Ich möchte eine Datei über FTP herunterladen. Könnt ihr mir sagen, was an folgendem Quellcode falsch ist?

Delphi-Quellcode:
function getfile(server, username, password, localfile, remotefile: string; port: word = 21): boolean;
var
  hopen, hconnect: HINTERNET;
begin
  hopen := InternetOpen('myagent', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0);
  hconnect := InternetConnect(hopen, pchar(server), port, pchar(username), pchar(password), INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);
  Result := FtpGetFile(hconnect, pchar(localfile), pchar(remotefile), FTP_TRANSFER_TYPE_UNKNOWN, 0);
  InternetCloseHandle(hconnect);
end;


MfG
Cruso

SirThornberry 25. Nov 2006 18:41

Re: FTP download
 
Mir fällt auf das du nirgends prüfst ob InternetConnect erfolgreich ist sondern einfach mal weiterarbeitest mit dem Handle was eventuell gar nicht gültig ist.

cruso 25. Nov 2006 18:45

Re: FTP download
 
Zitat:

Zitat von SirThornberry
Mir fällt auf das du nirgends prüfst ob InternetConnect erfolgreich ist sondern einfach mal weiterarbeitest mit dem Handle was eventuell gar nicht gültig ist.

Darum geht es erstmal nicht. Sagen wir's mal so: Die Inet-Verbindung steht.

SirThornberry 25. Nov 2006 18:52

Re: FTP download
 
darum geht es schon. Denn wenn das Handle ungültig ist könntest du schlussfolgern ob der Fehler beim verbinden zum FTP-Server ist oder nicht.
Und InternetConnect sorgt ja nich dafür das die Verbindung zum Internet geöffnet wird sondern verbindet zum entsprechenden Server. Anhand der Überprüfung des Handles kannst du also den Fehler eingrenzen. Unt mit GetLastError kannst du sicher auch den Fehler ermitteln.
(was mir auch grad noch auffällt ist das hopen wohl nirgends wieder frei gegeben wird)

cruso 25. Nov 2006 19:05

Re: FTP download
 
Also es ist für mich nicht so wichtig, die Daten über FTP herunterzuladen; HTTP geht auch. Allerdings möchte ich die Indy's nicht verwenden. Gibt es da andere Möglichkeiten, die sich mit einer Delphi 7 Personal realisieren lassen?

SirThornberry 25. Nov 2006 19:07

Re: FTP download
 
Was stört dich an der Variante welche du im ersten Post verwendet hast?
Du musst einfach nur das Handle und gegebenfalls GetLastError auswerten um den Fehler zu finden.

inherited 25. Nov 2006 20:33

Re: FTP download
 
Was stört dich an den Indys?^^

cruso 26. Nov 2006 14:33

Re: FTP download
 
Und wie würde die richtige Version "codemäßig" aussehen?


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