[R] Contrôle d'erreur dans un GUI

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
mokoto
Niveau 2
Niveau 2
Messages : 21
Enregistré le : jeu. 27 janv. 2011 10:31
Status : Hors ligne

[R] Contrôle d'erreur dans un GUI

#1

Message par mokoto »

Bonjour,

J'essai de faire un programme qui permet d'utiliser 7zip rapidement.

Je suis bloqué avec le contrôle d'erreur quand je clique sur Lancer. En effet l'erreur reste en mémoire et du coup le programme ne peut plus fonctionner.

Voici le fichier ini :
[Chemin]
Adresse=C:\Program Files\7-Zip\7zG.exe
Destination=C:\Temp\Scripts\7zip auto\
Voici le code :
► Afficher le texte
Il faudrait peut être réinitialiser le case $Lancer mais comment?
Modifié en dernier par mokoto le mer. 20 juil. 2011 14:04, modifié 1 fois.
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Contrôle d'erreur dans un GUI

#2

Message par zeshrek »

Hmmmm... Quelques choses me semblent bizares...
1/ Tes variables sont nommées n'importe comment :
-> $file contient le retour de FileSelectFolder qui comme son nom l'indique renvoie un dossier
-> $chemin contient la valeur de Adresse du fichier Ini, qui est en fait la référence a un executable
-> $Destination contient la valeur de Destination du fichier Ini, qui est en fait un chemin
2/ Et tant que j'y suisavec tes variables elles ne sont pas toutes déclarées ($nMsg, $Cible, $Chemin, $Destination...). Prend l'habitude de mettre un

Code : Tout sélectionner

AutoItSetOption("MustDeclareVars", 1)
au début de tes scripts, ca t'oblige a déclarer tes variables. C'est chi*nt au début, masi on en prend vite l'habitude et au final on gagne du temps, et de la cohérence.
3/ La ligne

Code : Tout sélectionner

$NomArchive = GUICtrlRead($NomArchive)
est la source de ton problème. On ne réaffecte pas a la variable qui contient l'ID d'un controle de la GUI la valeur du contenu de ce controle !!!
Ceci devrait mieux marcher:

Code : Tout sélectionner

        Case $Lancer
            $Archive = GUICtrlRead($NomArchive)
            $Chemin = IniRead("config.ini", "Chemin", "Adresse", "")
            $Destination = IniRead("config.ini", "Chemin", "Destination", "")

            If $File = "" Or $Archive = "" Then
                MsgBox(0, "Erreur", "erreur")
            Else
                Run($Chemin & " a -sfx " & Chr(34) & $Destination & $Archive & Chr(34) & " -mx5 -psecret -mhe " & Chr(34) & $Cible & Chr(34))
            EndIf
Si vis pacem para bellum
mokoto
Niveau 2
Niveau 2
Messages : 21
Enregistré le : jeu. 27 janv. 2011 10:31
Status : Hors ligne

Re: [..] Contrôle d'erreur dans un GUI

#3

Message par mokoto »

Merci pour tes conseils, j'ai corriger les problèmes comme tu me l'as indiqué et ça fonctionne.

voilà le script :
► Afficher le texte
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Contrôle d'erreur dans un GUI

#4

Message par zeshrek »

Mieux c'est !

Il te reste plus qu'a le passer en [R]
Si vis pacem para bellum
Répondre