[..] Fermer ActiveX quand le script bugue

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1038
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

[..] Fermer ActiveX quand le script bugue

#1

Message par walkson »

Bonjour,
Je crois que tout est dit dans le titre.
Quand je dis activeX, je pense aux applications habituellement utilisées comme IE, Excel etc... qui sont invibles et qui continuent à tourner en arrière plan alors que le programme a cessé.
Dans l'exemple ci-dessous, le script bugue avec les sites Free et si le MsgBox est commenté. Avec un Sleep() à la place du MsgBox, => bug !?!
► Afficher le texte
Le OnAutoItExitRegister("MyTestFunc") est sans effet...
Un grand merci de me proposer vos solutions
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Fermer ActiveX quand le script bugue

#2

Message par orax »

Je ne comprends pas l'intérêt de mettre $fWait à 0 à la ligne 21 : _IENavigate($oIE, $s_url, 0)
Avec le 0, le script n'aura même pas le temps d'ouvrir la page.
Comme ça, ça marche mieux => _IENavigate($oIE, $s_url)
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Fermer ActiveX quand le script bugue

#3

Message par mikell »

Je vois pas le problème, pour moi ce script marche
► Afficher le texte
Sinon pour une gestion d'erreur plus pointue sur les objets com :
► Afficher le texte
Note qu'avec des fonctions comme _IENavigate() le @error ne marche pas, et le error handler non plus puisque la commande est envoyée correctement
Comme le précise le fichier d'aide, "You will need to employ other methods to determine success or failure of the navigation." ...et démerbrouille-toi avec ça :mrgreen:
Par exemple

Code : Tout sélectionner

  _IENavigate($oIE,"tilt",1)
 ; If @error Then MsgBox(0,"","erreur de navigation")  ;<<<<<< ne marche pas !
  If StringInStr(_IEDocReadHtml($oIE), "ErrorPage") Then MsgBox(0,"","erreur de navigation")
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre