Bonjour à tous
j'ai un comportement un peu bizarre de la fonction _GUICtrlButton_Click...
pour automatiser une application, j'utilise cette fonction pour cliquer sur différents
boutons qui me font passer d'une fenêtre à l'autre....
et sur l'avant dernière fenêtre....un bouton ok....
je récupère bien le bon handle sur le bouton et j'appelle la dîte fonction _GUICtrlButton_Click
mais hélas cela ne fonctionne pas toujours...
souvent la fenêtre reste comme si on n'avait pas cliqué sur OK
je stoppe l'exécution...je retourne dans le source
je vais dans le code sur la fonction est je clique sur F1 depuis Scite pour lancer l'aide
une fenêtre d'aide se lance bien mais en plus
à ce moment là l'éxécution du script se relance...????
et l'on déroule le script jusqu'au bout et arrivé à la fenêtre où il y a le bouton OK,
ça se passe bien et la fonction _GUICtrlButton_Click fonctionne bien et on passe
à la fenêtre suivante et on va même jusqu'au bout du script ......????
Quelqu'un pourrait-il m'expliquait le pourquoi du comment
D'avance merci
Fred
[..] Comportement aléatoire sur _GUICtrlButton_Click ???
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
Re: [..] Comportement aléatoire sur _GUICtrlButton_Click ???
Bon après pas mal de test....
le problème vient de la fenêtre d'avant !!!!!
avec ce code ça bloquait au niveau de la 5ème fenêtre....
il fallait relancer le script 20 fois pour que ça fonctionne une fois ou deux
en modifiant le code pour la 4ème fenêtre ça fonctionne à la 5ème !!!!
C'est un peu bizarre quand même....
Quelqu'un aurait une explication....sachant que [CLASS:Button;INSTANCE:18] est bon ! c'est le bon Button
Fred
le problème vient de la fenêtre d'avant !!!!!
Code : Tout sélectionner
;************************************************
; on passe la 4eme fenetre du driver SQL natif
;************************************************
; on clique sur finish pour finir
$hButton = ControlGetHandle ($sSQLNCLI_Panel4,"","[CLASS:Button; INSTANCE:18]")
_GUICtrlButton_Click($hButton)
;************************************************
; on passe la 5eme fenetre du driver SQL natif
;************************************************
_WinWaitActivate($sSQLNCLI_Panel5,"")
; on clique sur le bouton OK
Local $hPanel = WinGetHandle($sSQLNCLI_Panel5)
$hButton = ControlGetHandle ($sSQLNCLI_Panel5,"","[CLASS:Button; INSTANCE:2]")
_GUICtrlButton_Click($hButton)
il fallait relancer le script 20 fois pour que ça fonctionne une fois ou deux
en modifiant le code pour la 4ème fenêtre ça fonctionne à la 5ème !!!!
Code : Tout sélectionner
;************************************************
; on passe la 4eme fenetre du driver SQL natif
;************************************************
; on clique sur finish pour finir
send("{ENTER}")
;************************************************
; on passe la 5eme fenetre du driver SQL natif
;************************************************
_WinWaitActivate($sSQLNCLI_Panel5,"")
; on clique sur le bouton OK
Local $hPanel = WinGetHandle($sSQLNCLI_Panel5)
$hButton = ControlGetHandle ($sSQLNCLI_Panel5,"","[CLASS:Button; INSTANCE:2]")
_GUICtrlButton_Click($hButton)
Quelqu'un aurait une explication....sachant que [CLASS:Button;INSTANCE:18] est bon ! c'est le bon Button
Fred