Bonjour
Plateforme de développement : Delphi 7
J'ai réalisé un client FTP à base du composant Indy : idFTP.
Ce programme tout simple permet d'écraser ou de supprimer un fichier sur un serveur distant et d'implémenter un fichier log.
Le fichier visé sur le serveur FTP a toujours le même nom et son chemin d'accès est toujours le même
Chez moi, mon programme fonctionne parfaitement aussi bien sous Windows XP que sous Windows Vista.
Chez deux autres personnes (une sous Windows XP et l'autre sous Windows Vista), ce même programme ne transmet rien (idFTP.Put)
Chez eux, le programme se connecte pourtant correctement au serveur FTP puisque un test de GetCurrentDirectory sur le serveur montre qu'ils sont bien connecté et sont au bon endroit...
La procédure idFTP.Put est dans une structure try...except...end; :
Chez moi le try s'exécute comme prévu, mais chez les deux autres personnes c'est l'exception qui s'exécute et le fichier n'est donc pas envoyé...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 IdFTP1.Host := StrHost; IdFTP1.Username := strLogin; IdFTP1.Password := strPSW; IdFTP1.Connect; .../... // Transfert du PLN local => serveur 1 IdFTP1.ChangeDir('/' + strDossier1); IdFTP1.TransferType := ftBinary; try IdFTP1.Put(strFPL, strFichier1, False); except ShowMessage('Erreur de transfert vers le serveur 1'); end;
Lever le doute sur leur capacité de connection FTP : s'ils utilisent le client FTP FileZilla ils obtiennent le résultat escompté. Leur connection a donc la capacité de faire ce qui est demandé dans mon programme.
Dans le doute, j'ai fait une deuxième version sans passer par le composant Indy, mais en passant par l'API Windows (WinInet). Même résultat : l'UpLoad est OK chez moi, mais pas chez les autres...
Avez-vous une idée de l'origine du problème et une éventuelle solution à ce problème.
Cordialement
JP
Partager