C# problem with webBrowser.ReadyState

webBrowser , problems , csharp Ljubljana, Slovenia
  • 10 years ago


    here I'm stucked again :crying:

    I got this error:

    System.InvalidCastException was unhandled by user code

    [CODE]System.InvalidCastException was unhandled by user code Message=Specified cast is not valid. Source=System.Windows.Forms StackTrace: at System.Windows.Forms.UnsafeNativeMethods.IHTMLDocument2.GetLocation() at System.Windows.Forms.WebBrowser.getDocument() at System.Windows.Forms.WebBrowser.getReadyState() at test.Form2.timer1Tick(Object sender, EventArgs e) in C:\Users\Tilen\documents\visual studio 2010\Projects\test\Form2.cs:line 410 at System.Windows.Forms.Timer.OnTick(EventArgs e) at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.DoEvents() at test.Form2.backgroundWorker1DoWork(Object sender, DoWorkEventArgs e) in C:\Users\Tilen\documents\visual studio 2010\Projects\test\Form2.cs:line 350 at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument) InnerException: [/CODE]

    This error I get with that:

    while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();

    I dont know why I get that error, on the other applications this has worked.

    Here is the complete function:

    [CODE]private void timer1Tick(object sender, EventArgs e) { MessageBox.Show("timer time"); timer1.Stop(); timer1.Interval = 300000; for (int i = 0; i <= 199; i++) { string idmesta, thtml, trenutno, trenutno2; int[] surovine = new int[4]; int[] tippolja = new int[19]; int[] indeksminsurovin = new int[4]; int[,] levelpolj = new int[19,3]; int templevel, zitonauro; bool prvaizbira = true;

                id_mesta = globalno.mesta[i, 0];
                if (id_mesta == "") break;
                if (File.Exists("UserConfig\\" + id_mesta + ".txt"))
                    webBrowser1.Navigate(globalno.g_userServer + "dorf1.php?newdid=" + id_mesta);
                    while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();
             //       while (webBrowser1.IsBusy == false) Application.DoEvents();
             //       while (webBrowser1.IsBusy == true) Application.DoEvents();
                    thtml = webBrowser1.DocumentText;
                    string tipmesta = funkcije.StringRegExp(thtml, "id=\"village_map\" class=\"", "\"");
                        // 0-žito, 1-les, 2-glina, 3-železo
                        case "f1": tip_polja[1] = 0; tip_polja[2] = 0; tip_polja[3] = 1; tip_polja[4] = 0; tip_polja[5] = 0; tip_polja[6] = 2; tip_polja[7] = 3; tip_polja[8] = 0; tip_polja[9] = 0; tip_polja[10] = 3; tip_polja[11] = 3; tip_polja[12] = 0; tip_polja[13] = 0; tip_polja[14] = 1; tip_polja[15] = 0; tip_polja[16] = 2; tip_polja[17] = 1; tip_polja[18] = 2; break;
                        case "f2": tip_polja[1] = 3; tip_polja

Post a reply

Enter your message below

Sign in or Join us (it's free).


Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“There are only two kinds of languages: the ones people complain about and the ones nobody uses” - Bjarne Stroustrup