Article ID: 247336 - Last Review: May 12, 2003 - Revision: 2.0

BUG: Cannot Force WebBrowser Control to Be Offline Using DLCTL_FORCEOFFLINE

This article was previously published under Q247336

On This Page

Expand all | Collapse all

SYMPTOMS

When you sink events for ambient properties, if you check for DISPID_AMBIENT_DLCONTROL and set the value to be returned to DLCTL_FORCEOFFLINE, the WebBrowser control does not behave as expected. Instead of going to the cache for all navigations, it still connects to the appropriate Internet server.

CAUSE

Although the DLCTL_FORCEOFFLINE is passed through to the WebBrowser control when the navigation occurs, it stills checks for an Internet connection and connects to the Internet if the connection is available.

RESOLUTION

There are no known workarounds.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Start Microsoft Visual C++ 6.0.
  2. Create a new MFC AppWizard(exe) project.
  3. Type a project name in the Project name edit box, and then click OK.
  4. Select Single Document, and then click Next.
  5. Choose the defaults on the rest of the screens in the MFC Appwizard except the last, in step 6.
  6. At the last screen, select the View class and change the Base class found on the lower left to CHtmlView.
  7. Click Finish.
  8. Open the .cpp file for your view class and include the following header file:
    #include <mshtmdid.h>
  9. Invoke the ClassWizard by pressing CTRL+W.
  10. Under Class name, find the View class.
  11. Scroll through the messages until you find OnAmbientProperty. Click Add Function and then click Edit Code.
  12. Add the following code to the OnAmbientProperty member function and save the file:
    if (dispid == DISPID_AMBIENT_DLCONTROL)
    {
    	pvar->vt = VT_I4;
    	pvar->lVal |= DLCTL_FORCEOFFLINE;
    	return TRUE;
    }
    					
  13. Go to Internet Options in Internet Explorer. (This is on the View menu for Internet Explorer 4.x versions and on the Tools menu for Internet Explorer 5.)
  14. In the Internet Options dialog box, click Delete Files under Temporary Internet Files, and then close the dialog box.
  15. Now compile and run your Visual C++ project. The browser will navigate to the Web page even if it is not located in the cache.

APPLIES TO
  • Microsoft Internet Explorer 4.0 128-Bit Edition
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 4.01 Service Pack 1
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer 5.5
Keywords: 
kbbug kbpending kbwebbrowser KB247336
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
 

Article Translations

 

Related Support Centers