Page 1 sur 1

[..] Fermer ActiveX quand le script bugue

Posté : mar. 19 mai 2015 17:28
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

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

Posté : mer. 20 mai 2015 18:15
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)

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

Posté : jeu. 21 mai 2015 16:40
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")