AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Verbindung zum FTP-Server über mehrere Prozeduren hinweg
Thema durchsuchen
Ansicht
Themen-Optionen

Verbindung zum FTP-Server über mehrere Prozeduren hinweg

Ein Thema von Samufi · begonnen am 29. Okt 2009 · letzter Beitrag vom 29. Okt 2009
 
Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#1

Verbindung zum FTP-Server über mehrere Prozeduren hinweg

  Alt 29. Okt 2009, 14:35
Hallo,
ich schreibe gerade an einem Programm, das sehr häufig kontakt zu einem ftp-Server aufnimmt und Dateien hoch- und runterlädt. Dazu benutzte ich bisher immer folgende Funktionen:
Delphi-Quellcode:
function TForm1.putfile(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 := FtpPutFile(hconnect, pchar(localfile), pchar(remotefile), FTP_TRANSFER_TYPE_UNKNOWN, 0);
  InternetCloseHandle(hconnect);
end;

function TForm1.getfile(server, username, password, remotefile, localfile: 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(remotefile), pchar(localfile), false, FILE_ATTRIBUTE_NORMAL, FTP_TRANSFER_TYPE_ASCII,0);
  InternetCloseHandle(hconnect);
end;
Nun dachte ich mir, dass es doch evtl. viel Zeit sparen würde, wenn man nicht jedesmal neu eine Verbindung zum Server aufnimmt und diese dann schließt (das kam mehrmals während einer Prozedur vor), sondern zum Programmstart die Verbindung eingeht und zum Ende diese wieder schließt. Dazu wollte ich dann hconnect global definieren, damit dann beim ftpputfile darauf zugegriffen werden kann. Vielleicht ist dieser Gedankengang etwas dilettantisch, ich kenne mich mit der Materie halt nicht so gut aus. Auf jeden Fall hat das so nicht hingehauen - ich nehme an, ich habe da einen groben Denkfehler drin.
Hat vielleicht jemand von euch eine Idee, wie ich das richtigmachen könnte - bzw. kann mir jemand sagen, ob das überhaupt geht?
Allen Antwortern schon mal vielen Dank im Vorraus!
Samufi
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz