Page 1 sur 1

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

Posté : mar. 21 sept. 2010 17:03
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.

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

Posté : mar. 21 sept. 2010 17:29
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.

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

Posté : mar. 21 sept. 2010 23:49
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.

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

Posté : mar. 21 sept. 2010 23:50
par Tlem
2 messages. 2 fois un code de 200 lignes ... :shock:
J'espère que vous n'allez pas continuer à chaque messages. :roll:

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

Posté : mer. 22 sept. 2010 18:48
par RL77LUC
Ah oui ... Désolé :S.
C'est vrai que c'était pas top ... Sinon quelqu'un a une idée ?

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

Posté : jeu. 23 sept. 2010 00:52
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

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

Posté : jeu. 23 sept. 2010 16:25
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.