[R] Comment lancer un script toutes les minutes

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [R] Comment lancer un script toutes les minutes

#21

Message par Jerome »

Coucou,


Personnellement, pour des besoins variés, j'avais besoin de faire une GUi avec un navigateur qui switchais de pages toutes les 5 secondes.

Je me suis dit, bondioux, adliberegister awesome :)

Clairement, la fonction adlib ressemblait à ceci :

Code : Tout sélectionner

Func Adlib()
           _IENavigate($IE, $aRecords[$v] , 0)
           $v = $v + 1
           if $v = 5 then $v = 1
endfunc

Voila, un petit truc basique.

Le soucis, c'est que :

- Message d'erreur windows (vous savez pour envoyer le rapport ou pas ?) comme quoi mon appli planté.
- Plus de 200 M alloué a mon appli dans le gestionnaire des tâches (alors que mon appli, c'était juste la fonction adlib hein ...)


Bref, j'ai modifié par un bon :

Code : Tout sélectionner

While 1
    sleep(5000)
    MyPages($v)
    $v = $v + 1
    If $v = 5 Then $v = 1
WEnd

Func _EXIT()
    Exit
EndFunc   ;==>_EXIT

Func MyPages($v)
    _IENavigate($IE, $aRecords[$v] , 0)
EndFunc

Et depuis, plus de soucis.


Après, savoir si le problème viens de la fonction adlibregister ou alors de ce qu'elle fait (dans mon cas, un _IEnavigate), je n'ai pas poussé le problème plus loin.


PS : Après, c'est peut être mon mode cassos qui a prit le dessus, en effet, mes compétences concernant _IEnavigate sont limitées et peut être y-a t'il un problème lié à la mémoire avec cette fonction.



Jérôme
Avatar du membre
TopXm
Niveau 6
Niveau 6
Messages : 260
Enregistré le : mer. 25 mai 2011 16:37
Localisation : Usa
Status : Hors ligne

Re: [R] Comment lancer un script toutes les minutes

#22

Message par TopXm »

Hello Jerome :)

Partons du postulat que je vais sans doute raconter une grosse boulette mais voilà comment je vois le truc.

En fait j'avais dans l'idée que c'était la boucle While derrière le AddLibRegister qui pouvait faire manger de la ressource si "on ne met pas de sleep" [Woué je sais la blague est douteuse ...]

Je m'étais mis aussi dans l'idée que le Sleep() servait aussi à rendre la main aux autres processus, un peu comme le DoEvents() VB et consorts.

Après me goure-je ? y'a de fortes chances, mais le sujet m'intéresse, merci de me corriger si je fais fausse route

Bonne soirée :D
Répondre