![]() |
Re: Problem mit IdFTP1.Put
Zitat:
holen uns die Demo FTP-Client aus dem SVN compilieren und schon geht das. Tatsache, da tut sich was ... Server: ftp.lancom.de User: ftp Pass: ftp und bei Connect kommt "Illegal PORT Command!" ah, ja ... Welches Zauberwort braucht denn der Client, damit der auch mal anzeigt, was da so ist? cu Oliver |
Re: Problem mit IdFTP1.Put
Hi Oliver,
Zitat:
In D2009 und D2010 steht das ja z.B. auch im Demo-Ordner "Indy v9 Demos" - und nichts ist enthalten, trotzdem kommen die wenigsten auf die Idee irgendwas von Indy 9 mit D2009+ auszuprobieren. Aber egal wie oft man es Embarcadero sagt, das lustige Textfile bleibt drin ;) Den Rest deines Posts verstehe ich nicht, zu viel Ironie ohne den :mrgreen: Smiley. Aber wenn Du eine konkrete Frage hast: Immer her damit. Ein einfachen FTP Connect und das List Kommando bringen wir Dir auch noch bei :mrgreen: (< da ist er) Edit: Gerade mal den FTPClient aus dem Demos getestet. Mein Debugger bringt mir sofort Fehlermeldungen, das Properties nicht (mehr) exisitieren - selbst mit D2009. Sollte also klar sein, daß dies nicht ohne Änderungen funktionieren kann. Und: Die D2010 Version ist nicht automatisch die Version aus dem SVN. Embarcadero nimmt eigene Anpassungen vor, leider ohne immer darüber zu benachrichtigen. Auch welche Build-Nummer aus dem SVN genommen wurde, wird nicht immer mitgeteilt. Das wird sich hoffentlich in Zukunft (weiter) bessern. Gruß Assertor |
Re: Problem mit IdFTP1.Put
Liste der Anhänge anzeigen (Anzahl: 1)
sorry, für wegen die fehlenden :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:
Der ftp-Server den ich ansprechen will ist erreichbar, mit den Login-Daten beschreibbar, also eigentlich voll erreichbar. Der Login funktioniert, der Upload startet und dann kommt die Fehlermeldung "Connection closed; transfer aborted" Wie schon gesagt: Delphi 2010, Indy 10.5.5 (die wo direkt mit Delphi 2010 geliefert werden :mrgreen: ) Hier der Code aus dem Formular, der Rest vom Projekt ist im Anhang.
Delphi-Quellcode:
unit frmMain;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, IdFTP, ExtCtrls; type TForm1 = class( TForm ) Host : TEdit; Port : TEdit; Username : TEdit; Password : TEdit; Passive : TCheckBox; Button1 : TButton; IdFTP1 : TIdFTP; procedure Button1Click( Sender : TObject ); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1 : TForm1; implementation {$R *.dfm} uses idFtpCommon; procedure TForm1.Button1Click( Sender : TObject ); begin // Einstellungen lesen IdFTP1.Host := Host.Text; IdFTP1.Port := StrToIntDef( Port.Text, 21 ); IdFTP1.Username := Username.Text; IdFTP1.Password := Password.Text; IdFTP1.Passive := Passive.Checked; IdFTP1.AutoLogin := False; IdFTP1.Connect; try IdFTP1.Login; IdFTP1.TransferType := ftBinary; if FileExists( '.\Dokument.txt' ) then IdFTP1.Put( '.\Dokument.txt', 'Dokument.txt', False ); finally IdFTP1.Disconnect; end; end; end. |
Re: Problem mit IdFTP1.Put
Hi,
Zitat:
Ich sehe mir Dein Demo jetzt sofort an und gebe gleich Feedback. Aber was ist das für eine Demo? Zitat:
Hast Du D2010+ mit dem Pre-:glaskugel:-Compiler? ;) Edit: Feedback. Deine (eigene) Demo mit aktuellen SVN kompiliert - und ich bekomme keine Fehlermeldung (und hab von sowas auch noch nicht gehört). Halt mich auf dem Laufenden :) Gruß Assertor |
Re: Problem mit IdFTP1.Put
Ok, jetzt habe ich ftp mit Passive laufen ...
... jetzt funktioniert es ... aber ... ... nur wenn der ftp-server auf Port 21 sitzt. :wall: Ich habe die ganze Zeit mit einem ftp-server auf einem anderen Port (22222) getestet. Jetzt tut das sogar mit den Delphi-Beipack-Indys. Seltsam ist es schon ... aber soweit klappert es ja jetzt, dann eben nur Standard :mrgreen: cu Oliver |
Re: Problem mit IdFTP1.Put
warum speicherst du die Daten erst auf der Festplatte anstelle sie direkt hoch zu laden? Werden diese lokal auf der Festplatte wirklich benötigt?
|
Re: Problem mit IdFTP1.Put
Zitat:
Das Projekt oben war doch nur ein Test-Projekt ... die richtige Anwendung wird das aus einem Stream pumpen ;) cu Oliver |
Re: Problem mit IdFTP1.Put
Hi,
Zitat:
Selbst wenn jetzt die externe IP genommen wird, schlägt auf seiner Seite die NAT fehl und die Ports werden nicht geöffnet... Für das Problem selbst finden sich viele Einträge zu MS IIS FTP und dem Router, aber kein einziger Report bisher zu Indy. Ergo: Nicht alles, was nicht geht, liegt an Indy :mrgreen: Gruß Assertor Tags: Indy, 500, Illegal Port Command, NAT, Router, FTP |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:41 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