AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Probleme mit FTP-Get mit Indy FTP-Komponente nach Umstieg auf Delphi XE 11
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit FTP-Get mit Indy FTP-Komponente nach Umstieg auf Delphi XE 11

Ein Thema von UweJansen · begonnen am 5. Jan 2024 · letzter Beitrag vom 5. Jan 2024
Antwort Antwort
UweJansen

Registriert seit: 22. Aug 2011
Ort: NRW
13 Beiträge
 
Delphi 11 Alexandria
 
#1

Probleme mit FTP-Get mit Indy FTP-Komponente nach Umstieg auf Delphi XE 11

  Alt 5. Jan 2024, 10:13
Delphi-Version: 11 Alexandria
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:
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;
Beim "idFTP1.Get" bleibt das Ganze dann hängen und läuft nach dem eingestellten TimeOut in den Exception-Block !
Kompiliert mit DXE10.4 funktioniert das Ganze noch ohne Probleme.

Grüße Uwe
Uwe

Geändert von TBx ( 5. Jan 2024 um 14:42 Uhr) Grund: Delphi-Tags eingefügt
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.349 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Probleme mit FTP-Get mit Indy FTP-Komponente nach Umstieg auf Delphi XE 11

  Alt 5. Jan 2024, 12:24
Was ist denn die Fehlermeldung?
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
UweJansen

Registriert seit: 22. Aug 2011
Ort: NRW
13 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Probleme mit FTP-Get mit Indy FTP-Komponente nach Umstieg auf Delphi XE 11

  Alt 5. Jan 2024, 12:35
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
Uwe
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.349 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Probleme mit FTP-Get mit Indy FTP-Komponente nach Umstieg auf Delphi XE 11

  Alt 5. Jan 2024, 12:57
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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
UweJansen

Registriert seit: 22. Aug 2011
Ort: NRW
13 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Probleme mit FTP-Get mit Indy FTP-Komponente nach Umstieg auf Delphi XE 11

  Alt 5. Jan 2024, 13:10
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
Uwe
  Mit Zitat antworten Zitat
Antwort Antwort


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:18 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