IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web & réseau Delphi Discussion :

TIdFTP et problème avec la procédure List


Sujet :

Web & réseau Delphi

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Février 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Février 2014
    Messages : 59
    Points : 25
    Points
    25
    Par défaut TIdFTP et problème avec la procédure List
    Bonjour à tous,

    J'ai un petit souci avec le composant TIdFTP. En effet, quand je lance la commande TIdFTP.List, je tombe forcément en timeout lors de la récupération des fichiers à l'intérieur d'un répertoire ciblé alors qu'il n'y a qu'un seul fichier.

    Voici le code utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    procedure TFSynchroInternet.actConnecterExecute(Sender: TObject);
    var SSLHandler : TIdSSLIOHandlerSocketOpenSSL ;
         taille:extended;
         liste:TStringList;
         DossierCourant,x,m:string;
         label lister;
    begin
      if IdFTP1.Connected then IdFTP1.Disconnect;
     
      liste:=TStringList.Create;
      liste.Clear;
      lbDossier.Clear;
      lbFichier.Clear;
     
      m:=AnsiLeftStr(IBTParametreServeurREPERTOIRE_BDD.AsString,1);//renvoie les  premiere caractére
      m:=AnsiRightStr(IBTParametreServeurREPERTOIRE_BDD.AsString,1);//renvoie les  derniere caractére
     
      DossierCourant:=IBTParametreServeurREPERTOIRE_BDD.AsString;
      lbDossier.Items.Add(DossierCourant);
      lbDossier.ItemIndex:=0;
     
      SSLHandler := TIdSSLIOHandlerSocketOpenSSL.create(nil) ;
      try
        SSLHandler.MaxLineAction := maException ;
        SSLHandler.SSLOptions.Method := sslvTLSv1 ;
        SSLHandler.SSLOptions.Mode := sslmUnassigned ;
        SSLHandler.SSLOptions.VerifyMode := [] ;
        SSLHandler.SSLOptions.VerifyDepth := 0 ;
     
        IdFTP1.IOHandler := SSLHandler ;
        IdFTP1.Host := IBTParametreServeurURL.AsString ;
        IdFTP1.Port := IBTParametreServeurPORT.AsInteger ;
        IdFTP1.Username := IBTParametreServeurIDENTIFIANT.AsString ;
        IdFTP1.Password := IBTParametreServeurMOT_DE_PASSE.AsString ;
        IdFTP1.UseTLS := utUseExplicitTLS ;
     
        IdFTP1.AutoIssueFEAT := false ;
     
        lister :
        IdFTP1.Connect ;
     
        DossierCourant:=(lbDossier.Items.Strings[lbDossier.ItemIndex]);
        IdFTP1.ChangeDir(DossierCourant);
        IdAntiFreeze1.Process ;
        IdFTP1.List(liste,'*.xml',true);
        IdAntiFreeze1.Process ;
        repeat
          x:=liste[0];
          if (idftp1.Size(x)<= 0) and (ExtractFileExt('c:\'+x)='') then
          begin    //dossier
            if (x<>'.') and (x<>'..') then
              lbDossier.Items.Add(DossierCourant+x+'/')
          end
          else
          begin  //fichier
            if (x<>'.') and (x<>'..') then
              lbFIchier.Items.Add(DossierCourant+x);
          end;
          liste.Delete(0);
        until liste.Count=0;
        if lbDossier.Items.Count-1>lbDossier.ItemIndex then
        begin
          lbDOssier.ItemIndex:=lbDossier.ItemIndex+1;
          goto lister;
        end;
      telecharger;
      finally
        SSLHandler.Free ;
      end;
    end;
    Quand j'utilise cette procédure, je vois bien que la connexion au FTP est bien établie et puis ça bloque lorsqu'on arrive sur l'instruction IdFTP1.List... ça tomben en timeout systématiquement...quelqu'un aurait-il une idée de ce qu'il peut se passer et comment y remédier svp ?

    Merci beaucoup

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    J'ai eu un problème identique du moins je crois, cela remonte loin dans mes souvenirs , et je n'ai pas retrouvé le code .
    Etait-ce la même erreur , je n'en suis pas sur , mais avec le List de TidFTP , il m'a fallu tâtonner pour trouver le bon 'décodage' des informations reçues .
    Je ne me souviens plus de ce que j'avais fait pour résoudre ce problème , je te laisse donc juste la piste en espérant que cela aide .
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

Discussions similaires

  1. [TidFtp] Problème avec les FTP List Parse
    Par Philbzh dans le forum Delphi
    Réponses: 1
    Dernier message: 20/06/2006, 09h48
  2. Problème avec le package listings
    Par Neitsa dans le forum Mise en forme
    Réponses: 5
    Dernier message: 16/05/2006, 17h09
  3. Probléme avec zone de liste dépendante!
    Par sunflower dans le forum IHM
    Réponses: 5
    Dernier message: 26/12/2005, 17h34
  4. problème avec une procédure recursive
    Par vbcasimir dans le forum SQL
    Réponses: 1
    Dernier message: 10/06/2005, 16h38
  5. Problème avec une procédure stockée
    Par in dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/05/2003, 15h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo