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

[Résolu]
Signaler
Messages postés
9
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
20 novembre 2009
-
Messages postés
9
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
20 novembre 2009
-
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

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
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
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
Bonjour,

le système a probablement besoin de reprendre la main...
Ouvre ton aide en ligne sur le mot DoEvents puis ===>> utilise-le
Messages postés
9
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
20 novembre 2009

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 !!!
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
est-ce bien normal de jouer avec Dir() en Xpress 2008 ??????

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
9
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
20 novembre 2009

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
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
FSO :o encore pire ^^

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
9
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
20 novembre 2009

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 !
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
utilises plutot ce genre de boucles :

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


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
9
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
20 novembre 2009

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 ?
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
quelle commande en particulier ?

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


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
9
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
20 novembre 2009

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

Merci beaucoup !!!

ca tourne tout seul !!!
merci encore pour ton aide et ta disponibilité !