Delphi-Version: 11 Alexandria
Probleme mit FTP-Get mit Indy FTP-Komponente nach Umstieg auf Delphi XE 11
Hallo,
ich habe bisher noch nicht so viel mit Delphi gemacht was sich aber in der nächsten Zeit ändern soll / wird. Aktuell haben wir erst einmal den Umstieg von DXE10.4 auf DXE11 vollzogen und damit unsere diversen mit Delphi entwickelten DLL's auch auf DXE11 umgestellt. In einer dieser DLL's habe ich nun ein Problem. Darin ist eine FTP-Funktion eingebaut die von einem externen Programm aufgerufen wird und in dieser FTP-Funktion wird ein GET einer Datei von einem internen eigenen FTP-Server gemacht. Dieser GET läuft nach der Kompilierung mit DXE11 in einen TimeOut. Nun habe ich irgendwo gelesen, dass es hier wohl zwischen DXE10.4 und DXE11 eine Umstellung in den Indy-Komponenten gegeben hat die dieses Problem wohl verursachen könnte. Da dies allerdings nicht so ganz meine Kernkompetenz ist hoffe ich auf eure Hilfe. Hier mal der Code-Schnipsel:
Delphi-Quellcode:
Beim "idFTP1.Get" bleibt das Ganze dann hängen und läuft nach dem eingestellten TimeOut in den Exception-Block !
try
if idFTP1.Connected = TRUE then idFTP1.Disconnect(); idFTP1.Host := Trim(String(ServName)) ; idFTP1.Port := 21 ; idFTP1.UserName := Trim(String(UserName)) ; idFTP1.Password := Trim(String(Password)) ; idFTP1.ConnectTimeOut := 60000 ; // = 60 Sekunden idFTP1.ReadTimeOut := 720000; // = 720 Sekunden idFTP1.TransferTimeOut := 720000; // = 720 Sekunden idFTP1.Connect(); if idFTP1.Connected = TRUE then begin ShowTfrmShFTP; idFTP1.TransferType := ftASCII; intFSize := idFtp1.Size(Trim(String(UnxFName))); showmessage ('Point 1'); idFTP1.Get(Trim(String(UnxFName)), Trim(String(LocDName)) + '/' + Trim(String(LocFName)), TRUE, TRUE); idFTP1.Disconnect(); Result := 1; end; except on E: exception do begin MessageDlg('Fehler bei Übertragung der Datei: ' + #13#10 + #13#10 + E.Message, mtInformation, [mbOk], 0); Result := intResult; end; end; Kompiliert mit DXE10.4 funktioniert das Ganze noch ohne Probleme. Grüße Uwe |
AW: Probleme mit FTP-Get mit Indy FTP-Komponente nach Umstieg auf Delphi XE 11
Was ist denn die Fehlermeldung?
|
AW: Probleme mit FTP-Get mit Indy FTP-Komponente nach Umstieg auf Delphi XE 11
Hi,
die Fehlermeldung die da kommt ist schlichtweg "Fehler bei der Übertragung der Datei" "Timeout" Die Fehlermeldung kommt nach den eingestellten 720 Sekunden ReadTimeOut ! Grüße Uwe |
AW: Probleme mit FTP-Get mit Indy FTP-Komponente nach Umstieg auf Delphi XE 11
Nur das eine Wort? Ok, das hatte ich anders in Erinnerung.
Vielleicht liegt es an dem Bug, der in die Indy-Version gerutscht war, die mit Delphi 11 mitgeliefert wird: https://github.com/IndySockets/Indy/pull/389 Der ist vermutlich mit Delphi 12 behoben. Du könntest nur Indy durch das aktuelle Indy manuell ersetzen, um den Fix in Delphi 11 zu bekommen. Alternativ könntest du einmal versuchen, Passive auf True zu setzen, denn der Bug betrifft erstens nur aktive Transfers und zweitens funktionieren aktive Transfers heute ohnehin meistens nicht mehr, da man meistens hinter einem Router sitzt. |
AW: Probleme mit FTP-Get mit Indy FTP-Komponente nach Umstieg auf Delphi XE 11
Hi,
also das mit dem umschalten auf "Passive" hat es nicht gebracht ! Da kommt die Fehlermeldung "Zeitüberschreitung bei der Annahme". Was muss ich denn da wo konkret bei github runterladen um die korrigierten Komponenten von Indy zu bekommen bzw. wie bekomme ich die korrigierte Version dann nach DXE11 installiert ? Das habe ich noch nie gemacht ! Grüße Uwe |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:58 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