Avatar billede matiasdk Nybegynder
13. april 2006 - 23:10 Der er 3 kommentarer

mshtml, HTMLDocument skifter objekt uforudsigeligt

Jeg har implementeret en browser vha. mshtml.

Problemet er at jeg efter kald til Navigate(url), og efter at have ventet på at Busy bliver falsk, opnår, ved følgende kode:

---------------------------------------------
System.Diagnostics.Debug.WriteLine (WBDoc.body.outerHTML);
System.Diagnostics.Debug.WriteLine(WBDoc.url);
MessageBox.Show ("OK?");
System.Diagnostics.Debug.WriteLine(WBDoc.url);
System.Diagnostics.Debug.WriteLine (WBDoc.body.outerHTML);
---------------------------------------------

at der først bliver udskrevet den nye url, men den gamle html
hvis jeg venter lidt med at trykke på ok, får jeg senere den nye url samt den nye html.

men hvorfor? er der ikke en metode til at læse om den er færdig med at indlæse?

det nytter ikke at scanne efter "</body>", det har alle html-dokumenter jo, og det hjælper heller ikke at sætte WBDoc til null inden navigeringen.

Meget meget mærkeligt :-P
Avatar billede matiasdk Nybegynder
13. april 2006 - 23:21 #1
Følgende synes at afhjælpe problemet, men det er jo en noget tilfældig og uforudsigelig løsning:

------------------------------------------------------------------
WB.Navigate ("about:blank", ref o, ref o, ref o, ref o);
while(WB.Busy) System.Threading.Thread.Sleep(20);
------------------------------------------------------------------
Avatar billede matiasdk Nybegynder
13. april 2006 - 23:38 #2
Den laver stadig problemer så nu bruger jeg: System.Threading.Thread.Sleep(500);
Avatar billede matiasdk Nybegynder
13. april 2006 - 23:58 #3
while (WBDoc.body != null); System.Threading.Thread.Sleep(20);
while(WB.Busy) System.Threading.Thread.Sleep(20);
while (WBDoc.body == null); System.Threading.Thread.Sleep(20);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester