Je suis entrain de développer une petite console afin d'administré un de mes programmes. Je rencontre un soucis de commande qui s'exécute deux fois mais je ne sait pas pourquoi.
Alors voici la structure principale du programme :
Code : Tout sélectionner
Global $Form1 = GUICreate("Mon prog", 800, 584, -1, -1)
Global $List1 = GUICtrlCreateListView("Test|Test", 0, 0, 800, 331)
$console = GUICtrlCreateEdit("", 0, 336, 801, 225)
$r_console = GUICtrlRead($console)
Global $Input1 = GUICtrlCreateInput("", 0, 560, 801, 21)
Global $Renter[1][2] = [["{ENTER}", $Input1]]
GUISetAccelerators($Renter)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $Input1
$code = GUICtrlRead($Input1)
If StringLeft($code, 6) = "visit " Then
$vrf = IniRead(@ScriptDir & "\config.ini", "cfg", "co", "Erreur")
If $vrf = "0" Then
$r_console = GUICtrlRead($console)
GUICtrlSetData($console, $r_console & "#> Cette commande n'est pas disponible car vous n'êtes pas connecté au système. Connectez-vous !" & @CRLF)
GUICtrlSetData($Input1, "")
Else
$recmd = StringTrimLeft(GUICtrlRead($Input1), 6)
$format_cmd = StringSplit($recmd, ".")
If Not _EzMySql_Query("SELECT * FROM `gplan`.`attente` WHERE ID = '" & $format_cmd[1] & "'") Then
$r_console = GUICtrlRead($console)
GUICtrlSetData($console, $r_console & "Impossible de contacté la base. Code erreur " & _EzMySql_ErrMsg())
Else
For $i = 1 To _EzMySql_Rows() Step 1
$a1Row = _EzMySql_FetchData()
If $format_cmd[2] = $a1Row[3] Then
ShellExecute($a1Row[6])
ExitLoop
EndIf
Next
EndIf
EndIf
EndIf
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEndLe but c'est que lorsque je tape "visit blabla.blabla" , celui-ci execute l'url qui est lié.
Cependant le shellexecute s'effectue en deux fois donc il ouvre deux onglets...
J'ai pourtant mit un "exitloop" mais rien ..
Une idée ?
Merci d'avance



