Bonjour,
J'ai réalisé ma convertion de batch en autoit avec votre aide.
Aujourd'hui, je souhaite comprendre pourquoi mon gui se ferme.
Cas 1 fonctionnel (mon gui est toujours présent)
Je lance le script avec les bonnes données, il déroule normalement, me donne le logfile attendu, puis je peux faire une nouvelle recherche (à partir du gui) sans avoir à refaire un double clique sur l'exe.
Cas 2 non fonctionnel (mon gui disparaît)
Je lance le script avec une mauvaise donnée, (volontairement ou pas), il déroule normalement, me donne le logfile attendu, (pas de fichier trouvé ou alors l'option choisie n'est pas correcte), puis le gui se ferme. Pour faire une nouvelle recherche je dois refaire un double clique sur l'exe.
C'est assez râlant car j'estime que c'est une perte de temps.
Le début du script contient la présentation physique du gui, voici une partie de la boucle infinie
► Afficher le texte
Code : Tout sélectionner
.../...
While 1 ; Début de la boucle infinie
$nMsg = GUIGetMsg() ; Récupération des messages GUI
Switch $nMsg ; Début du sélecteur de cas
Case $GUI_EVENT_CLOSE ; Si clic fermeture fenêtre GUI1, on sort
MsgBox(64, 'Info', 'Vous avez choisi de quitter ToolSearch') ; Message
Exit ; Fin du script
Case $Btn01 ; si l'on clique sur "ToolSearch" le dossier parent s'ouvre
ShellExecute (@HomeDrive & "\ToolSearch\","open")
Case $Btn02 ; Si l'on clique sur "exit" on sort
$btn02 = $GUI_EVENT_CLOSE
MsgBox(64, 'Info', 'Vous avez choisi de quitter ToolSearch')
exit
Case $Btn11 ; ################## traitement des extensions ##################
Local $LogFile = (@HomeDrive & "\ToolSearch\Recherche Extension\Recherche Fichier.txt")
; """""""""" Contrôle de l'existance du Logfile """"""""""
If FileExists ($LogFile) then Filedelete ($LogFile)
; """""""""" Contrôle de lecture du GUICtrlCreateInput """"""""""
$file = GUICtrlRead($Input11)
$opt = GUICtrlRead($Input12)
$max = GUICtrlRead($input13)
$file2 = GUICtrlRead($Input11)
.../...
If ($max) <> ("all") or ("") then ; Si l'utilisateur a saisi une mauvaise option.
MsgBox (16, "Erreur"," Vous avez utilisé l'option " & """" & $max & """" & " cette option est inconnue" & @crlf & "Attention utiliser soit " & @crlf & """all"" pour lister tous les lecteurs " & @crlf & "soit ne rien inscrire dans la case option")
Exit
EndIf
[code] autres IF ensuite sur la même base
IF conditions
msgbox
exit
endif
[/code]
J'ai plusieurs IF que se suivent, j'ai retiré
Exit mais rien n'y fait, dés que l'option choisie n'est mauvaise,(ou que le script ne trouve pas ce que nous lui demandons), j'ai bien la msgbox, le logfile, mais le gui disparaît ensuite.
Comment puis je gérer ce différent?
Labougie