J'ai terminé un petit programme d'upload de fichiers (via FTP). Pour ce
j'utilise le contrôle Inet.
Tout ce passe bien lorsque je lance l'application à partir de VB, également
avec l'exécutable (compilé par VB) qui se trouve dans le dossier où sont
enregistrer les fichiers de VB et du programme (forms, modules etc.). Là
encore nickel cela marche.
J'utilise visual Studio Installer pour compiler le programme et pouvoir
l'installer. Tout se passe bien. J'ai bien tout les contrôles qui figurent
dans le programme et notamment Inet.
Mon programme lancé, ne me génère aucune erreur lorsqu'il upload les
fichiers pourtant, ils n'arrivent pas à destination. Les chemins sont ok.
Par contre si je loop sur mon adresse IP publique, l'upload se fait bien.
sans certitude car il faudrait un poil plus de détails, je parie que tout le problème vient de ta variable 'dosSource' qui ne contient pas (toujours) ce que tu crois.
Pour le vérifier, c'est simple: ajoute à ta fonction une message box comme ceci:
' Ouvre le dossier source et envoi son contenu sur le serveur
' ICI => AJOUTER
msgbox "dosSource=" & dosSource
If Right(dosSource, 1) <> "" Then dosSource = dosSource & "" Filename = Dir(dosSource, vbNormal) i = 0 Do While Filename <> "" DoEvents
tu peux aussi ajouter à ta fonction une variable nbFiles (long). Juste avant le Do While, tu la mets à zéro, puis tu l'incrémentes de 1 juste après, comme ceci :
i = 0
' ICI AJOUTER nbFiles = 0
Do While Filename <> "" DoEvents
' ET ICI, AJOUTER nbFiles = nbFiles + 1
Puis l'afficher juste après le Loop, comme ça:
End If Filename = Dir Loop
Ici ajouter : msgbox "nbFiles = " & nbFiles
Je pense que le problème se trouve dans le coin...
sans certitude car il faudrait un poil plus de détails, je
parie que tout le problème vient de ta variable 'dosSource'
qui ne contient pas (toujours) ce que tu crois.
Pour le vérifier, c'est simple: ajoute à ta fonction une
message box comme ceci:
' Ouvre le dossier source et envoi son contenu sur le serveur
' ICI => AJOUTER
msgbox "dosSource=" & dosSource
If Right(dosSource, 1) <> "" Then dosSource = dosSource & ""
Filename = Dir(dosSource, vbNormal)
i = 0
Do While Filename <> ""
DoEvents
tu peux aussi ajouter à ta fonction une variable nbFiles (long).
Juste avant le Do While, tu la mets à zéro, puis tu l'incrémentes
de 1 juste après, comme ceci :
i = 0
' ICI AJOUTER nbFiles = 0
Do While Filename <> ""
DoEvents
' ET ICI, AJOUTER nbFiles = nbFiles + 1
Puis l'afficher juste après le Loop, comme ça:
End If
Filename = Dir
Loop
Ici ajouter : msgbox "nbFiles = " & nbFiles
Je pense que le problème se trouve dans le coin...
sans certitude car il faudrait un poil plus de détails, je parie que tout le problème vient de ta variable 'dosSource' qui ne contient pas (toujours) ce que tu crois.
Pour le vérifier, c'est simple: ajoute à ta fonction une message box comme ceci:
' Ouvre le dossier source et envoi son contenu sur le serveur
' ICI => AJOUTER
msgbox "dosSource=" & dosSource
If Right(dosSource, 1) <> "" Then dosSource = dosSource & "" Filename = Dir(dosSource, vbNormal) i = 0 Do While Filename <> "" DoEvents
tu peux aussi ajouter à ta fonction une variable nbFiles (long). Juste avant le Do While, tu la mets à zéro, puis tu l'incrémentes de 1 juste après, comme ceci :
i = 0
' ICI AJOUTER nbFiles = 0
Do While Filename <> "" DoEvents
' ET ICI, AJOUTER nbFiles = nbFiles + 1
Puis l'afficher juste après le Loop, comme ça:
End If Filename = Dir Loop
Ici ajouter : msgbox "nbFiles = " & nbFiles
Je pense que le problème se trouve dans le coin...
"Jean-marc" a écrit dans le message de news: 483312b8$0$2997$
>Christian wrote:
Hello,
sans certitude car il faudrait un poil plus de détails, je parie que tout le problème vient de ta variable 'dosSource' qui ne contient pas (toujours) ce que tu crois.
Pour le vérifier, c'est simple: ajoute à ta fonction une message box comme ceci:
' Ouvre le dossier source et envoi son contenu sur le serveur
' ICI => AJOUTER
msgbox "dosSource=" & dosSource
If Right(dosSource, 1) <> "" Then dosSource = dosSource & "" Filename = Dir(dosSource, vbNormal) i = 0 Do While Filename <> "" DoEvents
tu peux aussi ajouter à ta fonction une variable nbFiles (long). Juste avant le Do While, tu la mets à zéro, puis tu l'incrémentes de 1 juste après, comme ceci :
i = 0
' ICI AJOUTER nbFiles = 0
Do While Filename <> "" DoEvents
' ET ICI, AJOUTER nbFiles = nbFiles + 1
Puis l'afficher juste après le Loop, comme ça:
End If Filename = Dir Loop
Ici ajouter : msgbox "nbFiles = " & nbFiles
Je pense que le problème se trouve dans le coin...
J'ai déjà imaginé que le problème pouvait venir du fait que le contenu du dossier n'était pas lu. J'avais donc mis un message box avant l'envoi. A chaque fois le fichier source correspondait ainsi que le fichier (chemin de destination). En tous les cas je vais de nouveau chercher dans ce sens et ajouter le msgbox contant le nombre de fichier. J'essaie.
Christian.
"Jean-marc" <jm@nowhere.invalid> a écrit dans le message de news:
483312b8$0$2997$ba620e4c@news.skynet.be...
>Christian wrote:
Hello,
sans certitude car il faudrait un poil plus de détails, je
parie que tout le problème vient de ta variable 'dosSource'
qui ne contient pas (toujours) ce que tu crois.
Pour le vérifier, c'est simple: ajoute à ta fonction une
message box comme ceci:
' Ouvre le dossier source et envoi son contenu sur le serveur
' ICI => AJOUTER
msgbox "dosSource=" & dosSource
If Right(dosSource, 1) <> "" Then dosSource = dosSource & ""
Filename = Dir(dosSource, vbNormal)
i = 0
Do While Filename <> ""
DoEvents
tu peux aussi ajouter à ta fonction une variable nbFiles (long).
Juste avant le Do While, tu la mets à zéro, puis tu l'incrémentes
de 1 juste après, comme ceci :
i = 0
' ICI AJOUTER nbFiles = 0
Do While Filename <> ""
DoEvents
' ET ICI, AJOUTER nbFiles = nbFiles + 1
Puis l'afficher juste après le Loop, comme ça:
End If
Filename = Dir
Loop
Ici ajouter : msgbox "nbFiles = " & nbFiles
Je pense que le problème se trouve dans le coin...
J'ai déjà imaginé que le problème pouvait venir du fait que le contenu du
dossier n'était pas lu. J'avais donc mis un message box avant l'envoi. A
chaque fois le fichier source correspondait ainsi que le fichier (chemin de
destination). En tous les cas je vais de nouveau chercher dans ce sens et
ajouter le msgbox contant le nombre de fichier. J'essaie.
"Jean-marc" a écrit dans le message de news: 483312b8$0$2997$
>Christian wrote:
Hello,
sans certitude car il faudrait un poil plus de détails, je parie que tout le problème vient de ta variable 'dosSource' qui ne contient pas (toujours) ce que tu crois.
Pour le vérifier, c'est simple: ajoute à ta fonction une message box comme ceci:
' Ouvre le dossier source et envoi son contenu sur le serveur
' ICI => AJOUTER
msgbox "dosSource=" & dosSource
If Right(dosSource, 1) <> "" Then dosSource = dosSource & "" Filename = Dir(dosSource, vbNormal) i = 0 Do While Filename <> "" DoEvents
tu peux aussi ajouter à ta fonction une variable nbFiles (long). Juste avant le Do While, tu la mets à zéro, puis tu l'incrémentes de 1 juste après, comme ceci :
i = 0
' ICI AJOUTER nbFiles = 0
Do While Filename <> "" DoEvents
' ET ICI, AJOUTER nbFiles = nbFiles + 1
Puis l'afficher juste après le Loop, comme ça:
End If Filename = Dir Loop
Ici ajouter : msgbox "nbFiles = " & nbFiles
Je pense que le problème se trouve dans le coin...
J'ai déjà imaginé que le problème pouvait venir du fait que le contenu du dossier n'était pas lu. J'avais donc mis un message box avant l'envoi. A chaque fois le fichier source correspondait ainsi que le fichier (chemin de destination). En tous les cas je vais de nouveau chercher dans ce sens et ajouter le msgbox contant le nombre de fichier. J'essaie.
Christian.
Patrice Henrio
christ a écrit :
"Jean-marc" a écrit dans le message de news: 483312b8$0$2997$
Christian wrote:
Hello,
sans certitude car il faudrait un poil plus de détails, je parie que tout le problème vient de ta variable 'dosSource' qui ne contient pas (toujours) ce que tu crois.
Pour le vérifier, c'est simple: ajoute à ta fonction une message box comme ceci:
' Ouvre le dossier source et envoi son contenu sur le serveur
' ICI => AJOUTER
msgbox "dosSource=" & dosSource
If Right(dosSource, 1) <> "" Then dosSource = dosSource & "" Filename = Dir(dosSource, vbNormal) i = 0 Do While Filename <> "" DoEvents
tu peux aussi ajouter à ta fonction une variable nbFiles (long). Juste avant le Do While, tu la mets à zéro, puis tu l'incrémentes de 1 juste après, comme ceci :
i = 0
' ICI AJOUTER nbFiles = 0
Do While Filename <> "" DoEvents
' ET ICI, AJOUTER nbFiles = nbFiles + 1
Puis l'afficher juste après le Loop, comme ça:
End If Filename = Dir Loop
Ici ajouter : msgbox "nbFiles = " & nbFiles
Je pense que le problème se trouve dans le coin...
J'ai déjà imaginé que le problème pouvait venir du fait que le contenu du dossier n'était pas lu. J'avais donc mis un message box avant l'envoi. A chaque fois le fichier source correspondait ainsi que le fichier (chemin de destination). En tous les cas je vais de nouveau chercher dans ce sens et ajouter le msgbox contant le nombre de fichier. J'essaie.
Christian.
J'ai été confronté à ce genre de problème. De mémoire et sans garantie : quand le fichier est à la racine, le répertoire est "D:" (par exemple) s'il n'est pas à la racine "D:Toto" (plus de slash) Je me suis ainsi retrouvé avec un chemin "D:" qui bien entendu a planté. Et j'ai mis beaucoup de temps à trouver car dans mon jeu d'essai j'avais bien "D:test" qui devenait après transformation "D:test"
christ a écrit :
"Jean-marc" <jm@nowhere.invalid> a écrit dans le message de news:
483312b8$0$2997$ba620e4c@news.skynet.be...
Christian wrote:
Hello,
sans certitude car il faudrait un poil plus de détails, je
parie que tout le problème vient de ta variable 'dosSource'
qui ne contient pas (toujours) ce que tu crois.
Pour le vérifier, c'est simple: ajoute à ta fonction une
message box comme ceci:
' Ouvre le dossier source et envoi son contenu sur le serveur
' ICI => AJOUTER
msgbox "dosSource=" & dosSource
If Right(dosSource, 1) <> "" Then dosSource = dosSource & ""
Filename = Dir(dosSource, vbNormal)
i = 0
Do While Filename <> ""
DoEvents
tu peux aussi ajouter à ta fonction une variable nbFiles (long).
Juste avant le Do While, tu la mets à zéro, puis tu l'incrémentes
de 1 juste après, comme ceci :
i = 0
' ICI AJOUTER nbFiles = 0
Do While Filename <> ""
DoEvents
' ET ICI, AJOUTER nbFiles = nbFiles + 1
Puis l'afficher juste après le Loop, comme ça:
End If
Filename = Dir
Loop
Ici ajouter : msgbox "nbFiles = " & nbFiles
Je pense que le problème se trouve dans le coin...
J'ai déjà imaginé que le problème pouvait venir du fait que le contenu du
dossier n'était pas lu. J'avais donc mis un message box avant l'envoi. A
chaque fois le fichier source correspondait ainsi que le fichier (chemin de
destination). En tous les cas je vais de nouveau chercher dans ce sens et
ajouter le msgbox contant le nombre de fichier. J'essaie.
Christian.
J'ai été confronté à ce genre de problème.
De mémoire et sans garantie : quand le fichier est à la racine, le
répertoire est "D:" (par exemple)
s'il n'est pas à la racine "D:Toto" (plus de slash)
Je me suis ainsi retrouvé avec un chemin "D:\" qui bien entendu a
planté. Et j'ai mis beaucoup de temps à trouver car dans mon jeu d'essai
j'avais bien "D:test" qui devenait après transformation "D:test"
"Jean-marc" a écrit dans le message de news: 483312b8$0$2997$
Christian wrote:
Hello,
sans certitude car il faudrait un poil plus de détails, je parie que tout le problème vient de ta variable 'dosSource' qui ne contient pas (toujours) ce que tu crois.
Pour le vérifier, c'est simple: ajoute à ta fonction une message box comme ceci:
' Ouvre le dossier source et envoi son contenu sur le serveur
' ICI => AJOUTER
msgbox "dosSource=" & dosSource
If Right(dosSource, 1) <> "" Then dosSource = dosSource & "" Filename = Dir(dosSource, vbNormal) i = 0 Do While Filename <> "" DoEvents
tu peux aussi ajouter à ta fonction une variable nbFiles (long). Juste avant le Do While, tu la mets à zéro, puis tu l'incrémentes de 1 juste après, comme ceci :
i = 0
' ICI AJOUTER nbFiles = 0
Do While Filename <> "" DoEvents
' ET ICI, AJOUTER nbFiles = nbFiles + 1
Puis l'afficher juste après le Loop, comme ça:
End If Filename = Dir Loop
Ici ajouter : msgbox "nbFiles = " & nbFiles
Je pense que le problème se trouve dans le coin...
J'ai déjà imaginé que le problème pouvait venir du fait que le contenu du dossier n'était pas lu. J'avais donc mis un message box avant l'envoi. A chaque fois le fichier source correspondait ainsi que le fichier (chemin de destination). En tous les cas je vais de nouveau chercher dans ce sens et ajouter le msgbox contant le nombre de fichier. J'essaie.
Christian.
J'ai été confronté à ce genre de problème. De mémoire et sans garantie : quand le fichier est à la racine, le répertoire est "D:" (par exemple) s'il n'est pas à la racine "D:Toto" (plus de slash) Je me suis ainsi retrouvé avec un chemin "D:" qui bien entendu a planté. Et j'ai mis beaucoup de temps à trouver car dans mon jeu d'essai j'avais bien "D:test" qui devenait après transformation "D:test"