Exécution pas à pas okay alors que l'exécution normale plante !!! [Résolu]

Messages postés
9
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
20 novembre 2009
- - Dernière réponse : 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
Afficher la suite 

12 réponses

Meilleure réponse
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 196 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Renfield
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
0
Merci
Bonjour,

le système a probablement besoin de reprendre la main...
Ouvre ton aide en ligne sur le mot DoEvents puis ===>> utilise-le
Commenter la réponse de jmf0
Messages postés
9
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
20 novembre 2009
0
Merci
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 !!!
Commenter la réponse de i0raeK
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
est-ce bien normal de jouer avec Dir() en Xpress 2008 ??????

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
9
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
20 novembre 2009
0
Merci
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
Commenter la réponse de i0raeK
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
FSO :o encore pire ^^

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
9
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
20 novembre 2009
0
Merci
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 !
Commenter la réponse de i0raeK
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
utilises plutot ce genre de boucles :

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


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
9
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
20 novembre 2009
0
Merci
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 ?
Commenter la réponse de i0raeK
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
quelle commande en particulier ?

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


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
9
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
20 novembre 2009
0
Merci
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.
Commenter la réponse de i0raeK
Messages postés
9
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
20 novembre 2009
0
Merci
Merci beaucoup !!!

ca tourne tout seul !!!
merci encore pour ton aide et ta disponibilité !
Commenter la réponse de i0raeK