views:

903

answers:

2

In our applications, we display a webpage in a TWebBrowser component.

After installing IE8, some of our application started to stop responding on closedown. We have found the following to be true:

  • It only freezes if the webpage have been shown
  • Which application that freeze, depends on what url is shown. If we switch url between two applications, the working application freeze, and the other close down normaly.

Have anybody experienced something similar?

One url that freeze the application: http://www.finale.no/arsoppgjor
One url that does not freeze the application: http://www.finale.no/avstemming_meldinger

** UPDATE **

We have now found a pattern, a pattern thats kind of strange, but it's no less a pattern... When the page that we display contains images, and the images is scaled, our application freezes. For now, we will just remove or rescale images.

A: 

Sounds like there may be a thread deadlocking. I would run SysInternals Process Explorer on your application when it is deadlocked. Add a reference to the Microsoft symbols (Options -> Configure symbols). Now double-click the process, and choose the Threads tab. Look through IE's threads and see if you can figure out if one is deadlocking and why, especially from the stack.

I recommend doing this in Process Explorer instead of the Delphi debugger since Process Explorer understands the Microsoft symbols.

Craig Stuntz
I'm testing on av virtual machine running Windows 7. Where can I find the microsoft symbols?
Vegar
Follow the instructions here: http://barrkel.blogspot.com/2009/02/securom-and-sysinternals-tools.html
Craig Stuntz
+1  A: 

Long shot: did you put OleInitialze OleUinitialze in your app?

dmajkic
I can't find any calls to OleInitialize/OleUninitialize, but adding these calls doesn't help much...
Vegar