Welcome Guest Search | Active Topics | Sign In | Register

EO.Webbrowser Webpage blocking Windows Events after Opening WinForms-Dialog Options
ITS Immobilien Treuhand Software GmbH
Posted: Tuesday, April 28, 2020 3:58:52 AM
Rank: Member
Groups: Member

Joined: 10/30/2019
Posts: 10
Hi,
We currently use the Version 20.0.81.0.
We switched the Internal Winforms .Net Webbrowser Control to a EO.Webbrowser in our Application, and it worked fine for most of our clinets.
But in some Terminal Server, or Citrix (wich uses Terminal Server) Secnarios, the Process hangs and stops handling Windows Events, till the Eo.Webbrowser Helper Processes get terminated.
This happens when Our Main Form is Displayed and the Customer Presses [Ctrl]+[G], witch raises a Keydown Event that Displayes a Winforms Dialog(Displayed with Form.ShowDialog) that asks with a with a System.Windows.Forms.Textbox for the Location where the User want to go.
But in some cases, the Process stopps handling the Windows Events, this is reconicable in this way, that the cursor flashing doesn't happen, what otherwise happens.

We are sure that this is releated to the EO.Webbrowser, because:
1.) This Problem only started happening after we replaced the System.Windows.Forms.WebBrowser Control with EO.WinForm.WebControl + EO.WebBrowser.WebView.
2.) If we kill the EO.Webbrowser Helper Processes, then the Window Events get handled again, and the Textbox starts to respond to Keyboard Input again. (The Cursor flashing is also back)
3.) If this Happens, it also isn't possible to close windows using the window list displayed in the Taskbar, till the EO.Webbrowser Helper Process gets killed, it is only possible to terminate the whole process, all other keyboard/mouse inputs get ignored.

We use VB.Net, and currently only handle these tree Events/Sample of the Code we use:
Quote:

Friend WithEvents WebControl1 As EO.WinForm.WebControl
Friend WithEvents WebView1 As EO.WebBrowser.WebView

' Called at end of the Constuctor - extracted outgenerated Winforms Designer generated Code
Private Sub CreateEOWebBrowser()
Me.WebControl1 = New EO.WinForm.WebControl()
Me.WebView1 = New EO.WebBrowser.WebView()
'
'WebControl1
'
Me.WebControl1.BackColor = System.Drawing.Color.White
Me.WebControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.WebControl1.Location = New System.Drawing.Point(3, 23)
Me.WebControl1.Name = "WebControl1"
Me.WebControl1.Size = New System.Drawing.Size(1035, 513)
Me.WebControl1.TabIndex = 34
Me.WebControl1.Text = "WebControl1"
'Me.WebControl1.WebView = Me.WebView1
'
'WebView1
'
Me.WebView1.InputMsgFilter = Nothing
Me.WebView1.ObjectForScripting = Nothing
Me.WebView1.Title = Nothing
Me.WebView1.Url = "http://archiv.its-on.at/itsinfo/default.aspx"
Me.Controls.Add(Me.WebControl1)
End Sub

Private Sub WebView1_NewWindow(sender As Object, e As NewWindowEventArgs) Handles WebView1.NewWindow
Process.Start(e.TargetUrl)
End Sub

Private Sub WebView1_LaunchUrl(sender As Object, e As LaunchUrlEventArgs) Handles WebView1.LaunchUrl
e.UseOSHandler = True
End Sub

Private Sub WebView1_Command(sender As Object, e As CommandEventArgs) Handles WebView1.Command

End Sub


eo_support
Posted: Tuesday, April 28, 2020 12:34:05 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,217
Hi,

Please check if you have applied the latest Windows update. There has been an issue that can cause this in certain Windows versions. Microsoft has later fixed this through Windows update.

The root of the issue is the event was first captured in the EO helper process and the modal dialog is in another process (your process). When this occurs, in some version of Windows it would stop dispatching messages to the current focused (modal) window. This causes the entire event flow to freeze and our library can not do anything since it no longer receive any events from Windows. Killing our process will break this chain and restore the event flow.

If you can not apply Windows update, you can try to use BeginInvoke in your event handler to invoke the dialog. This allows the original message flow to return before your dialog is displayed thus avoiding this problem.

The following link provides you some background information about how the events in the helper process and your process are linked together:

https://www.essentialobjects.com/doc/webbrowser/advanced/input_events.aspx

Hope this helps.

Thanks!


You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.