Je suis confronté à un problème agaçant que je n'arrive pas à m'expliquer.
Si quelqu'un a la solution ....
Donc j'utilise un WebBrowser qui charge un fichier
Lors du Load de la forme, j'appelle InitWB
Sub InitWb
With FormeHistoire.WBHistoire
.Navigate2 "file://" & Chemin & "Histoires.htm"
End With
End Sub
Normalement cette méthode doit générer les évènement
BeforeNavigate2 et DocumentComplete
sur l'objet WBHistoire
Or il se passe que l'appel à ces événements est aléatoire :
J'ai ajouter un MsgBox dans chaque évènement pour pister le déroulement :
parfois les deux événements surviennent et le résultat est celui cherché,
parfois un seul des deux, voire même aucun des deux. Cela génère un bug dans
mon programme qui ne fait pas tout à fait ce que je souhaiterai.
Dans DocumentComplete en particulier, j'initialise, à partir du document
chargé, une collection dont j'ai bien sûr besoin pour la suite.
J'ai pensé qu'un doevent juste après InitWB améliorerait, mais cela n'a
permis que d'augmenter la fréquence des passages dans
BeforeNavigate2 et DocumentComplete, sans le systématiser.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Antoun
d'expérience, le Document_Complete est effectivement assez aléatoire, dépendant de trop de paramètres non maîtrisés (images introuvables, plugins, erreur javascript, redirections, etc.)... mais sur un fichier local, je n'aurai pas cru !
essaie différentes possibilités, de mémoire WB_ProgressChange et WB_StatusTextChange donnaient de meilleurs résultats...
good luck !
Antoun
d'expérience, le Document_Complete est effectivement assez aléatoire,
dépendant de trop de paramètres non maîtrisés (images introuvables,
plugins, erreur javascript, redirections, etc.)... mais sur un fichier
local, je n'aurai pas cru !
essaie différentes possibilités, de mémoire WB_ProgressChange et
WB_StatusTextChange donnaient de meilleurs résultats...
d'expérience, le Document_Complete est effectivement assez aléatoire, dépendant de trop de paramètres non maîtrisés (images introuvables, plugins, erreur javascript, redirections, etc.)... mais sur un fichier local, je n'aurai pas cru !
essaie différentes possibilités, de mémoire WB_ProgressChange et WB_StatusTextChange donnaient de meilleurs résultats...
good luck !
Antoun
parci
In : , Patrice Henrio écrivissa :
Je suis confronté à un problème agaçant que je n'arrive pas à m'expliquer. Si quelqu'un a la solution .... Donc j'utilise un WebBrowser qui charge un fichier Lors du Load de la forme, j'appelle InitWB
Sub InitWb With FormeHistoire.WBHistoire .Navigate2 "file://" & Chemin & "Histoires.htm" End With End Sub
Normalement cette méthode doit générer les évènement BeforeNavigate2 et DocumentComplete sur l'objet WBHistoire
Or il se passe que l'appel à ces événements est aléatoire : J'ai ajouter un MsgBox dans chaque évènement pour pister le déroulement : parfois les deux événements surviennent et le résultat est celui cherché, parfois un seul des deux, voire même aucun des deux. Cela génère un bug dans mon programme qui ne fait pas tout à fait ce que je souhaiterai. Dans DocumentComplete en particulier, j'initialise, à partir du document chargé, une collection dont j'ai bien sûr besoin pour la suite.
J'ai pensé qu'un doevent juste après InitWB améliorerait, mais cela n'a permis que d'augmenter la fréquence des passages dans BeforeNavigate2 et DocumentComplete, sans le systématiser.
Tu pourrais essayer comme ça :
Private m_pDisp As Object
Private Sub m_oWbSink_BeforeNavigate2(ByVal pDisp As Object ...) If m_pDisp Is Nothing Then Set m_pDisp = pDisp End If End Sub
Private Sub m_oWbSink_DocumentComplete(ByVal pDisp As Object, URL As Variant) If (pDisp Is m_pDisp) Then Set m_pDisp = Nothing ' ici ton code End If End Sub
In : ezn3HDXIEHA.580@TK2MSFTNGP12.phx.gbl,
Patrice Henrio <patrice.henrio.pasdepub@laposte.net> écrivissa :
Je suis confronté à un problème agaçant que je n'arrive pas à
m'expliquer. Si quelqu'un a la solution ....
Donc j'utilise un WebBrowser qui charge un fichier
Lors du Load de la forme, j'appelle InitWB
Sub InitWb
With FormeHistoire.WBHistoire
.Navigate2 "file://" & Chemin & "Histoires.htm"
End With
End Sub
Normalement cette méthode doit générer les évènement
BeforeNavigate2 et DocumentComplete
sur l'objet WBHistoire
Or il se passe que l'appel à ces événements est aléatoire :
J'ai ajouter un MsgBox dans chaque évènement pour pister le
déroulement : parfois les deux événements surviennent et le résultat
est celui cherché, parfois un seul des deux, voire même aucun des
deux. Cela génère un bug dans mon programme qui ne fait pas tout à
fait ce que je souhaiterai.
Dans DocumentComplete en particulier, j'initialise, à partir du
document chargé, une collection dont j'ai bien sûr besoin pour la
suite.
J'ai pensé qu'un doevent juste après InitWB améliorerait, mais cela
n'a permis que d'augmenter la fréquence des passages dans
BeforeNavigate2 et DocumentComplete, sans le systématiser.
Tu pourrais essayer comme ça :
Private m_pDisp As Object
Private Sub m_oWbSink_BeforeNavigate2(ByVal pDisp As Object ...)
If m_pDisp Is Nothing Then
Set m_pDisp = pDisp
End If
End Sub
Private Sub m_oWbSink_DocumentComplete(ByVal pDisp As Object, URL As
Variant)
If (pDisp Is m_pDisp) Then
Set m_pDisp = Nothing
' ici ton code
End If
End Sub
Je suis confronté à un problème agaçant que je n'arrive pas à m'expliquer. Si quelqu'un a la solution .... Donc j'utilise un WebBrowser qui charge un fichier Lors du Load de la forme, j'appelle InitWB
Sub InitWb With FormeHistoire.WBHistoire .Navigate2 "file://" & Chemin & "Histoires.htm" End With End Sub
Normalement cette méthode doit générer les évènement BeforeNavigate2 et DocumentComplete sur l'objet WBHistoire
Or il se passe que l'appel à ces événements est aléatoire : J'ai ajouter un MsgBox dans chaque évènement pour pister le déroulement : parfois les deux événements surviennent et le résultat est celui cherché, parfois un seul des deux, voire même aucun des deux. Cela génère un bug dans mon programme qui ne fait pas tout à fait ce que je souhaiterai. Dans DocumentComplete en particulier, j'initialise, à partir du document chargé, une collection dont j'ai bien sûr besoin pour la suite.
J'ai pensé qu'un doevent juste après InitWB améliorerait, mais cela n'a permis que d'augmenter la fréquence des passages dans BeforeNavigate2 et DocumentComplete, sans le systématiser.
Tu pourrais essayer comme ça :
Private m_pDisp As Object
Private Sub m_oWbSink_BeforeNavigate2(ByVal pDisp As Object ...) If m_pDisp Is Nothing Then Set m_pDisp = pDisp End If End Sub
Private Sub m_oWbSink_DocumentComplete(ByVal pDisp As Object, URL As Variant) If (pDisp Is m_pDisp) Then Set m_pDisp = Nothing ' ici ton code End If End Sub