Cannot Navigate Away from MFC Active Document in Internet Explorer 4.0 (177551)
The information in this article applies to:
- Microsoft Internet Explorer (Programming) 4.0
- Microsoft Internet Explorer (Programming) 4.01
- The Microsoft Foundation Classes (MFC), when used with:
- Microsoft Visual C++, 32-bit Enterprise Edition 4.2b
- Microsoft Visual C++, 32-bit Enterprise Edition 5.0
- Microsoft Visual C++, 32-bit Professional Edition 4.2b
- Microsoft Visual C++, 32-bit Professional Edition 5.0
This article was previously published under Q177551 SUMMARY
When you load a file into Internet Explorer 4.0 that is associated
with an Active Document server that is written in MFC, you cannot navigate
away from the currently loaded page. Internet Explorer 4.0 will appear to start loading the next page, the progress bar indicator will fill part way, and the Internet Explorer logo will begin spinning. However, Internet Explorer 4.0 will remain in this state indefinitely until shut down.
This is caused by a fault in MFC's implementation of
IOleCommandTarget::QueryStatus. MFC's QueryStatus implementation
incorrectly specifies that unknown command IDs are currently supported but
disabled. Internet Explorer 4.0 uses an unsupported command-group command
to determine whether the Active Document (formerly called "ActiveX
Document") server can be deactivated. Since MFC responds incorrectly that
the command-group command is supported and disabled, the Active Document
server is never unloaded.
As a workaround, you must override CDocObjectServer and COleCmdUI to
provide the correct functionality. (See the MORE INFORMATION section for
instructions on how to do this.)
Microsoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article. We are researching this bug and will post
new information here in the Microsoft Knowledge Base as it becomes
available.
Modification Type: | Minor | Last Reviewed: | 8/5/2004 |
---|
Keywords: | kbdownload kbfile kbinfo kbSample KB177551 kbAudDeveloper |
---|
|