Exécution pas à pas okay alors que l'exécution normale plante !!!

Résolu
i0raeK Messages postés 9 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 20 novembre 2009 - 19 nov. 2009 à 02:42
i0raeK Messages postés 9 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 20 novembre 2009 - 20 nov. 2009 à 11:07
Bonjour tout le monde !

Ca fait maintenant 4hr que je suis sur ce #"~$ de programme et que je trouve pas comment m'en sortir !

En fait, je créé un dossier dans lequel je déplace un fichier crypté. Ensuite, je le décrypte, le renomme, le recrypte et le redéplace...
Je sais que c'est pas le mieux mais je n'ai trouvé que cette solution pour pouvoir gérer avec le nom du fichier crypté et le nom de la racine... Enfin bref, le sujet n'est pas là.

Quand j'exécute mon programme normalement, il plante sur :
TamponString = Dir(modDefConstantes.FolderRename & "\*.txt")

En exécution normale, il n'arrive pas à donner une valeur à mon "TamponString"... En revanche, quand j'exécute le code avec F8, il n'y a aucun problème !

Est ce que quelqu'un aurait une idée ?

En espérant avoir été clair... merci d'avance pour votre aide !

ps : j'utilise visual basic 2008 express

12 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 nov. 2009 à 10:56
http://msdn.microsoft.com/en-us/library/aa326953(VS.71).aspx


With newProcess
    .StartInfo.FileName = modDefConstantes.addressAxCrypt
    .StartInfo.Arguments = " -k " & """" & modDefConstantes.passEncryption & """" & " -d " & """" & modDefConstantes.FolderRename & "" & FSO.GetFileName(modDefConstantes.TamponString) & """" & " -t -x"
    .Start()
    .WaitForExit()
End With


Renfield - Admin CodeS-SourceS - MVP Visual Basic
3
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
19 nov. 2009 à 07:33
Bonjour,

le système a probablement besoin de reprendre la main...
Ouvre ton aide en ligne sur le mot DoEvents puis ===>> utilise-le
0
i0raeK Messages postés 9 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 20 novembre 2009
19 nov. 2009 à 11:56
Bonjour tout le monde, Bonjour jmf0,

il semblerait effectivement que les applis n'arrive pas à suivre le code et que du coup ca plante...

D'après ce que je comprends, je serais déjà en train de recrypter mon fichier au niveau du code alors que celui-ci n'aurait pas encore été décrypter par l'application que j'utilise (AxCrypt)...

Du coup, j'ai essayé de mettre un
System.Windows.Forms.Application.DoEvents()


avant et/ou après le décryptage et cryptage suivi ou non d'un sleep
mais rien ni fait...

Est ce que mon utilisation du DoEvents est bonne ?

Merci d'avance !!!
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
19 nov. 2009 à 16:30
est-ce bien normal de jouer avec Dir() en Xpress 2008 ??????

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
i0raeK Messages postés 9 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 20 novembre 2009
19 nov. 2009 à 16:59
Bonjour Renfield,

normale ou pas je ne sais pas...

En revanche, j'ai changé cette partie du code pour ceci :
For Each modDefConstantes.TamponFile In FSO.GetFolder(modDefConstantes.FolderRename).Files

   TamponString = modDefConstantes.TamponFile.Name

Next


mais ca ne donne rien de mieux...
En fait le code plantait sur cette ligne parce que le fichier n'était pas réellement décrypté quand il passait dessus et du coup il ne trouvait pas de *.txt...

D'après ce que je comprends... c'est que l'application de cryptage n'arrive pas à suivre le code ce qui pose un problème pour renommer, déplacer... le fichier
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
19 nov. 2009 à 18:05
FSO :o encore pire ^^

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
i0raeK Messages postés 9 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 20 novembre 2009
20 nov. 2009 à 09:10
Bonjour Renfield !

désolé !!! C'est une des méthodes que j'ai trouvé, elle avait l'air de tourner...

En fait, mon code consiste à :

1- déplacer un fichier dans un répertoire que je crée,
2- décrypter ce fichier,
3- renommer le fichier décrypté,
4- recrypter le fichier,
5- replacer le fichier dans son dossier d'origine...

Comment procéderais tu ?

Merci encore !
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 nov. 2009 à 09:25
utilises plutot ce genre de boucles :

http://www.vbfrance.com/forum/sujet-LISTE-FICHIERS_1378132.aspx


Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
i0raeK Messages postés 9 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 20 novembre 2009
20 nov. 2009 à 09:47
Re,

merci pour l'info !!!

Une dernière question...
Comment tu peux faire pour forcer le code à attendre qu'une commande soit bien exécuter et achever avant de poursuivre ?
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 nov. 2009 à 09:49
quelle commande en particulier ?

parce que c'est déjà séquentiel, donc...


Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
i0raeK Messages postés 9 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 20 novembre 2009
20 nov. 2009 à 10:52
Re !

Voici un morceau du code que j'utilise :


(...)
   
        ' Décryptage du fichier
        With newProcess
            .StartInfo.FileName = modDefConstantes.addressAxCrypt
            .StartInfo.Arguments = " -k " & """" & modDefConstantes.passEncryption & """" & " -d " & """" & modDefConstantes.FolderRename & "" & FSO.GetFileName(modDefConstantes.TamponString) & """" & " -t -x"
            .Start()
        End With

        ' Récupère le nom du fichier
        For Each FileInfo As IO.FileInfo In DirInfo.GetFiles
            TamponString = FileInfo.Name
        Next

(...)



le problème c'est qu'il récupère le nom du fichier alors que son décryptage n'est pas achevé...
Exemple :
- nom du fichier original : AAA.txt
- nom du fichier crypté : AAA-txt.axx

Quand il récupère le nom du fichier, il récupère AAA-txt.axx alors qu'il devrait retourner AAA.txt...

En fait l'application de cryptage n'a pas eu le temps de finir son travail qu'il embraye déjà sur la suite du code... d'ou ma question.
0
i0raeK Messages postés 9 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 20 novembre 2009
20 nov. 2009 à 11:07
Merci beaucoup !!!

ca tourne tout seul !!!
merci encore pour ton aide et ta disponibilité !
0
Rejoignez-nous