Posted on 2005-05-04
I have an ActiveX control that uses InternetOpenUrl to download a file to display. On one machine out of three that I've tested it on (all XP SP2, IE6, with the firewall turned off on the problem machine) there's a delay of around a minute and a half (though it varies) before InternetOpenUrl returns. The CPU is busy and the network monitor icon in the tray claims that there is network traffic (but Ethereal says there isn't). I've verified with the debugger that it's the call to InternetOpenUrl that's hanging.
The ActiveX control is hosted within an Internet Explorer control, which is in turn hosted within a Java application using Sun JRE 1.5. The same URL works fine in a plain old Internet Explorer window.
I was originally passing INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_PASSIVE | INTERNET_FLAG_RESYNCHRONIZE as the dwFlags argument, but I've also tried passing zero and it made no difference.
Does anyone have any ideas about what could be causing the delay, or how I can diagnose the problem further?