Probleme instruction bloquée

bibifinal Messages postés 62 Date d'inscription mardi 8 septembre 2009 Statut Membre Dernière intervention 3 mars 2010 - 2 mars 2010 à 09:34
bibifinal Messages postés 62 Date d'inscription mardi 8 septembre 2009 Statut Membre Dernière intervention 3 mars 2010 - 3 mars 2010 à 17:23
bien le bonjour,
je me remet doucement mais surement a vb, et j'ai donc repris sur visual basic express 2008, et je recherche une solution a mon "gros" problème

j'ai une application qui manipule internet explorer, jusqu'à la aucun problème, il va sur le site que je souhaite, il récupère les données, les met dans un doc txt, etc...
mais au bout d'un certain nombre d'enregistrements, mon très cher "Do While IE.Busy Loop" bug

pas d'erreur , rien, juste que vb reste sur le "ie.busy"

j'ai bien sur tenté différentes solutions (compteur dans la boucle, etc), mais le problème étant que meme si il y a une boucle, le code s'arrête tout court, pour faire continuer le programme j'ai du terminer le processus internetexplorer, qui a déclenché une exception gérée et voila

aucune idée si je poste ma question au bon endroit, en espérant qu'une solution existe...

ce que je me disais, est il possible d'allouer un certain temps a l'exécution de l'instruction, genre si au bout de 10s on est tjs dans la boucle, on en sort

merci d'avance

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
2 mars 2010 à 12:19
Salut
Ta boucle Do-Loop ne comporte t-elle que les instructions que tu nous a montrées ?
    Do While IE.Busy
    Loop

Essaye d'ajouter un Application.DoEvents au milieu afin de laisser respirer le PC.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
bibifinal Messages postés 62 Date d'inscription mardi 8 septembre 2009 Statut Membre Dernière intervention 3 mars 2010
2 mars 2010 à 13:06
hop hop, petite reponse rapide (midi oblige...)

j'ai tenté en effet un application.doEvents (enfin, juste un "doevents" ) en effet
mais au bout de 2000 instructions, rien a faire, tjs un blocage total (et non un bug)sur l'instruction

d'où le fait (si je me souviens tjs, j'ai essayé pas mal de méthodes) qu'en gros ca s'arrêtait avant d'arriver sur le "doevents"

étrange comme bug, dans l'idéal faudrait que je résolve le souci sur IE, sinon je vais tenter le plugin mozila mais bon
0
bibifinal Messages postés 62 Date d'inscription mardi 8 septembre 2009 Statut Membre Dernière intervention 3 mars 2010
2 mars 2010 à 13:09
(je vais mettre 2 ou 3 codes que j'ai tenté, et a chaque fois, vb bloque sur le test de "ie.busy")
et lorsque je termine le processus ca repart, d'ou le fait que je cherche a tester le temps qu'il met pour une instruction, si ca dépasse, je termine le processus
0
bibifinal Messages postés 62 Date d'inscription mardi 8 septembre 2009 Statut Membre Dernière intervention 3 mars 2010
2 mars 2010 à 13:45
voila la version du code que j'utilise, on voit que j'ai essayé pas mal de solutions possibles :(

                            While ie.Busy Or (ie.ReadyState <> tagREADYSTATE.READYSTATE_COMPLETE)
                                'Do While InStr(1, ie.Document.body.innerHTML, "Edit Scenario", 1) = 0
                                ' do nothing
                                timer = timer + 1
                                If timer > 100000 Then
                                    'si la page a buggé, creation d'un nouvel objet ie
                                    ie.Quit()
                                    releaseObject(ie)

                                    procesiekill()

                                    ie = New InternetExplorer
                                    ie.Navigate("blablabla")
                                    ie.Visible = False
                                    timer = 0
                                End If
                            End While
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bibifinal Messages postés 62 Date d'inscription mardi 8 septembre 2009 Statut Membre Dernière intervention 3 mars 2010
3 mars 2010 à 17:23
petit up, si quelqu'un a des idées , merci d'avance
0
Rejoignez-nous