Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi FTP Upload Fehlersuche? (https://www.delphipraxis.net/123276-ftp-upload-fehlersuche.html)

MaToBe 29. Okt 2008 22:20


FTP Upload Fehlersuche?
 
Hallo ihr da draußen,

kann mir bitte mal einer erklären und verbessern, was an diesem Code falsch ist ?

Delphi-Quellcode:
function 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;

procedure TMainForm.FormDestroy(Sender: TObject);
begin
    ini:=TIniFile.create('MHLog.ini');
    ini.writestring(DatetoStr(Date),TimeToStr(Now),Memo1.Text);
    ini.free;

    putfile('ftp://matobe@matobe.ma.funpic.de', 'MaToBe', '***', 'MHLog.ini', '/MHLog.ini');

end;

Die Muhkuh 29. Okt 2008 22:21

Re: FTP Upload Fehlersuche?
 
Mal abgesehen davon, dass Du nicht sagst, was das Problem ist:

Du solltest auf jeden Fall einen absoluten Pfad beim Erstellen der Ini-Datei angeben. Beim Runterladen natürlich auch.

MaToBe 29. Okt 2008 22:42

Re: FTP Upload Fehlersuche?
 
oh sorry.

das problem ist ganz einfach das es keine fehlermeldung oder ähnliches gibt.

allerdings finde ich die Datei auch nicht auf meinem Webspace, wo sie eigentlich sein sollte =(

Die Muhkuh 29. Okt 2008 22:45

Re: FTP Upload Fehlersuche?
 
Gibt es einen Grund, warum Du direkt über die API gehst und nicht die Indys verwendest?

Ansonsten lass Dir mal den letzten Fehler anzeigen (GetLastError)

MaToBe 29. Okt 2008 22:52

Re: FTP Upload Fehlersuche?
 
um ehrlich zu sein bin ich ein ziemlicher Anfänger und hab den Code irgendwo hier gefunden und kopiert.

Dachte halt ich kann für die Schule mich schonma bisschen schlau machen und ausprobieren weil wir uns demnächst damit beschäftigen werden.

Das mit Gelasterroer versteh ich leider auch nicht =(

aber wie gesagt es gibt auch kein error, ich glaube eher er stellt die Verbindung nicht so richtig her ...

smallsmoker 29. Okt 2008 22:53

Re: FTP Upload Fehlersuche?
 
das
und das ...

:D

€2: hehe http://www.instanticons.com/buddyico...y-Gonzales.gif

Die Muhkuh 29. Okt 2008 22:54

Re: FTP Upload Fehlersuche?
 
Du hast da einen Suchlink um den normalen Link platziert ;)

[edit] Tatapa, war er wieder schneller [/edit]

MaToBe 29. Okt 2008 23:05

Re: FTP Upload Fehlersuche?
 
sorry jetzt check ichs garnich mehr, was den für einen "Suchlink" ?

bei Google hab ich Indy gefunden, aber das is ja noch komplizierter ...

Die Muhkuh 29. Okt 2008 23:07

Re: FTP Upload Fehlersuche?
 
Das mit Suchlink auf war auf den Smallsmoker bezogen.

Zu GetLastError:

Delphi-Quellcode:
if (not (putfile('ftp://matobe@matobe.ma.funpic.de', 'MaToBe', '***', 'MHLog.ini', '/MHLog.ini'); )) then
  ShowMessage(SysErrorMessage(GetLastError));
So müsste es gehen.

MaToBe 29. Okt 2008 23:14

Re: FTP Upload Fehlersuche?
 
Als Error steht dann da

"Das Handel ist ungültig" ??

Luckie 29. Okt 2008 23:41

Re: FTP Upload Fehlersuche?
 
Liefern denn MSDN-Library durchsuchenInternetOpen und MSDN-Library durchsuchenInternetConnect gültige Handles zurück?

MaToBe 30. Okt 2008 18:36

Re: FTP Upload Fehlersuche?
 
sorry das ich euch mit meinem stümperhaften Verhalten vielleicht nerve, aber mir wäre das sehr wichtig, dass ich es hinbekomme das es funktionier.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, WinInet;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  hopen, hconnect: HINTERNET;

implementation

{$R *.dfm}

function putfile(server, username, password, localfile, remotefile: string; port: word = 21): boolean;
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;



procedure TForm1.Button1Click(Sender: TObject);
begin
  if (not (putfile('ftp://matobe@matobe.ma.funpic.de', 'MaToBe', 'Pfadfinder2002', 'MHLog.ini', '/MHLog.ini') )) then
  ShowMessage(SysErrorMessage(GetLastError));
end;

end.
Kann das vielleciht jemand mal teste, warum das nicht klappt? Stimmen die Verbindungsdaten nicht? Also MaToBe und Pfadfinder2002 stimmen, aber vielleicht muss die FTP-Addresse anders eingegeben werden?

Ich hoffe mir kann nochmal einer helfen oder vielleicht sogar den Code so verbessern, dass er funktioniert

MFG MaToBe

PS: Wegen den Daten, auf dem FTP ist nichts wichtiges zu finden und das Passwort kann ich ja auch später wieder ändern ;)

MaToBe 31. Okt 2008 23:30

Re: FTP Upload Fehlersuche?
 
mmh, ich habe den Serverhost leider falsch angegeben, mein Fehler jetzt klappt es.

Kann mir einer vielleicht noch sagen wie ich z.B. alle Dateien des Types .ini vom Server herunterlade (alle im gleichen Verzeichnis), und wie kann ich einen kompletten Ordner herunterladen?

MFG

Die Muhkuh 31. Okt 2008 23:42

Re: FTP Upload Fehlersuche?
 
Du musst Dir erst eine Dateiliste vom Server geben lassen und dann nach und nach jede Datei einzeln runterladen. Mit dem Ordner ist es genau das gleiche: In den Ordner wechseln, Dateiliste holen und eins nach dem anderen runterladen

MaToBe 1. Nov 2008 00:08

Re: FTP Upload Fehlersuche?
 
ok und die Dateiliste realisiert man auch per Ini oder Text Datei oder gibt es da ein Komponente bei den Indys ect. ?

Hobby-Programmierer 1. Nov 2008 00:51

Re: FTP Upload Fehlersuche?
 
Zitat:

Zitat von MaToBe
ok und die Dateiliste realisiert man auch per Ini oder Text Datei oder gibt es da ein Komponente bei den Indys ect. ?

Vielleicht solltest du dazu erstmal Eigeninitiative entwickeln und in der Bordsuche aktiv werden. Und dann bitte einen neuen Thread, dieser beantwortet den Upload auf einen Server!


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