IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB]le WebBrowser fait des siennes


Sujet :

VB 6 et antérieur

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 824
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 824
    Points : 1 544
    Points
    1 544
    Par défaut [VB]le WebBrowser fait des siennes
    Bonjour à tous,

    Voilà j'ai un soucis en VB.
    Je dois exécuter une procédure sur un site qui consiste à remplir des champs dans des formulaires, valider, remplir la page suivante etc... (de la complétion EFI).

    Le soucis est que lorsque je valide un formulaire, la page change, et il faut que j'attende que tout soit terminé avant de lancer la recherche des champs/bouttons etc... Alors quand je dois attendre le chargement d'une page je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Do While browser.ReadyState = READYSTATE_COMPLETE
         DoEvents
    Loop
    Je l'accorde, c'est vraiment bidouille mais bon, que voulez vous?

    Alors grous soucis, le ReadyState passe à READYSTATE_COMPLETE alors que la page n'est pas encore chargée.

    J'ai tenté un truc, de mettre un booléen à faux, de le changer à vrai lors de la réception de l'évennement browser_DocumentComplete(), et de faire un DoWhile en attendant que cette variable passe à true. Mais pareil, l'évènnement est déclancé alors que c'est pas terminé.

    Qu'est-ce que je dois faire?

    Ha oui pour savoir que c'est bien à cause de ça, ma procédure qui remplir des champs données me retourne une erreur. Si je met un point d'arrêt avant le lancement de la procédure et que je continu l'exécution 1 seconde après, ça trouve bien le champs (donc c'est bien que malgrès le statut ok du ready state, la page n'est pas terminé de charger...)

    Merci

    A bientôt

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    A mon avis, ce n'est pas le composant qui est en cause mais bien la page elle-même.

    Nous avons déjà tous vu un beau "Terminé" dans la barre d'état alors que la page n'était pas affichée.

  3. #3
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Plutôt que les propriétés utilise les évènements qui te retournent une url -
    cela te permettra de comparer l'url du document a charger avec celle de l'évènement produit
    et tu éviteras d'avoir de faux signaux générés par les frames par exemple.

    Un autre truc - affecte le document dans ta boucle ou l'évènement
    afin de pouvoir vérifier avant de sortir s'il est bien chargé dans la variable
    (avec typename par exemple)

    sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Do 
         DoEvents 
    Loop until browser.ReadyState = READYSTATE_COMPLETE
    c'est bien aussi

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut Re: [VB]le WebBrowser fait des siennes
    n'as tu pas écrit ta boucle while à l'envert... tu ne doit pas boucle tant que
    browser.ReadyState = READYSTATE_COMPLETE mais jusqu'as ce que browser.ReadyState = READYSTATE_COMPLETE

    essai comme ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Do
         DoEvents
    Loop until browser.ReadyState <> READYSTATE_COMPLETE
    .

    [edit]... yop c'est pas le bon source que j'ai modifié...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Do While browser.ReadyState <> READYSTATE_COMPLETE 
         DoEvents 
    Loop

  5. #5
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut Re: [VB]le WebBrowser fait des siennes
    Citation Envoyé par bbil
    n'as tu pas écrit ta boucle while à l'envert... tu ne doit pas boucle tant que
    browser.ReadyState = READYSTATE_COMPLETE mais jusqu'as ce que browser.ReadyState = READYSTATE_COMPLETE

    essai comme ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Do
         DoEvents
    Loop until browser.ReadyState <> READYSTATE_COMPLETE
    .
    Non seulement tu trolles inutilement parce que tu n'as pas lu ce qui précéde mais en plus tu écris des aneries

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 824
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 824
    Points : 1 544
    Points
    1 544
    Par défaut
    oui j'avais mis à l'envers lol.

    Ben récupérer les évènnements, je l'ai fait, mais ça n'a rien donné.

    Je vais essayer d'autres trucs en m'appuyant sur vos réponses.

    Merci

Discussions similaires

  1. MySQL connector fait des siennes
    Par madevilts dans le forum VB.NET
    Réponses: 1
    Dernier message: 08/02/2007, 13h55
  2. mon ActionPerformed fait des siennes
    Par azer2k20 dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 10/01/2007, 00h26
  3. Pop up qui fait des siennes !
    Par Sandara dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 13/06/2006, 17h40
  4. strcmp me fait des siennes...
    Par esp dans le forum Langage
    Réponses: 2
    Dernier message: 08/09/2005, 12h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo