[R] Erreur lors de l'éxécution de mon script

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
RL77LUC
Niveau 5
Niveau 5
Messages : 173
Enregistré le : mar. 21 sept. 2010 16:54
Status : Hors ligne

[R] Erreur lors de l'éxécution de mon script

#1

Message par RL77LUC »

Bonjour à tous !

Je viens vous signaler mon problème sur mon script. Je me suis aperçu que plusieurs personnes avaient mon problème mais aucune solution concrète/adaptable pour moi. Mon script s'ouvre une fraction de seconde puis se ferme. Voici l'erreur :
C:\**********\Accueil.au3 (69) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
If Not $cmdline[1] = "-nocheck" Then
If Not ^ ERROR
Et voici mon code :
► Afficher le texteMon code (Spoiler)
Je vous remercie d'avance pour votre aide, j'apprécie beaucoup ce forum, il m'est très utile.
Modifié en dernier par RL77LUC le jeu. 23 sept. 2010 16:25, modifié 1 fois.
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: [..] Erreur lors de l'éxécution de mon script

#2

Message par GaRydelaMer »

Bonjour

Tu fais une erreur juste la ligne avant:

If $CmdLine[0] = "0" Then

Tu lui dis si la ligne de commande contient aucun argument, et tu lui demande ensuite le 1er arguments !!

Code : Tout sélectionner

If $CmdLine[0] > 0 Then
    If $CmdLine[1] = "-nocheck" Then
         ....
    EndIf
    ....
EndIf
ca marchera si le 1er arguments est "-nocheck".

Une autre methode:

exemple : script.exe -nocheck -path "c:\toto\test" -pasUtiliser

Code : Tout sélectionner

Global $Check = True
Global $Path   = @ScriptDir
For $i = 1 To $CmdLine[0]
    If $CmdLine[$i] = "-nocheck" Then $Check = False
    If $CmdLine[$i] = "-path" And $CmdLine[0] <= $i + 1Then $Path = $CmdLine[$i + 1]
    ....
Next
Etc.., en fait on parcours le tableau des arguments, et on affecte le bon argument à la bonne variable que tu utiliseras ensuite dans ton code, de cette façon tu as les bonnes variables avec leur bonne valeur et ceci peut importe l'ordre des arguments, de plus tu peux sauter les arguments que serrait pas bon.
Avatar du membre
RL77LUC
Niveau 5
Niveau 5
Messages : 173
Enregistré le : mar. 21 sept. 2010 16:54
Status : Hors ligne

Re: [..] Erreur lors de l'éxécution de mon script

#3

Message par RL77LUC »

J'ai mis ça en code :
► Afficher le texte
Le code ne plante pas mais les boutons sont tout le temps activés ...
Merci de votre aide.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Erreur lors de l'éxécution de mon script

#4

Message par Tlem »

2 messages. 2 fois un code de 200 lignes ... :shock:
J'espère que vous n'allez pas continuer à chaque messages. :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
RL77LUC
Niveau 5
Niveau 5
Messages : 173
Enregistré le : mar. 21 sept. 2010 16:54
Status : Hors ligne

Re: [..] Erreur lors de l'éxécution de mon script

#5

Message par RL77LUC »

Ah oui ... Désolé :S.
C'est vrai que c'était pas top ... Sinon quelqu'un a une idée ?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Erreur lors de l'éxécution de mon script

#6

Message par Tlem »

Vous oubliez une condition. Celle ou DATA n'existe pas et ou il n'y à pas de ligne de commande.

Modifiez dans ce genre là :

Code : Tout sélectionner

If Not FileExists("DATA\") Then
    If $CmdLine[0] > 0 Then
        If $CmdLine[1] <> "-nocheck" Then
            _Mini()
        EndIf
    Else
        _Mini()
    EndIf
EndIf
Et la fonction _Mini :

Code : Tout sélectionner

Func _Mini()
    GUICtrlSetState($Button2, $GUI_DISABLE)
    GUICtrlSetState($Button7, $GUI_DISABLE)
    GUICtrlSetState($Button1, $GUI_DISABLE)
    GUICtrlSetState($Button6, $GUI_DISABLE)
    GUICtrlSetState($Button8, $GUI_DISABLE)
    GUICtrlSetState($Button9, $GUI_DISABLE)
    MsgBox(16, "PSP Manager", "PSP Manager est passé en mode mini car le dossier ''DATA'' est introuvable.")
EndFunc   ;==>_Mini
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
RL77LUC
Niveau 5
Niveau 5
Messages : 173
Enregistré le : mar. 21 sept. 2010 16:54
Status : Hors ligne

Re: [..] Erreur lors de l'éxécution de mon script

#7

Message par RL77LUC »

Ah oui !!
Merci BEAUCOUP à Tlem et au forum AutoIt français !

J'ai enfin résolu mon problème !
Je passe le sujet en résolu, encore une fois merci.
Répondre