Article ID: 182032
Article Last Modified on 11/24/2003
APPLIES TO
- Microsoft Visual Basic, Scripting Edition 1.1
- Microsoft Visual Basic, Scripting Edition 2.0
- Microsoft Internet Explorer 3.0
- Microsoft Internet Explorer 3.01
- Microsoft Internet Explorer 3.02
- Microsoft Foundation Class Library 4.2, when used with:
- Microsoft Visual C++ 4.2 Enterprise Edition
- Microsoft Visual C++ 4.2 Professional Edition
- Microsoft Visual C++ 5.0 Enterprise Edition
- Microsoft Visual C++ 5.0 Professional Edition
This article was previously published under Q182032
SYMPTOMS
When navigating to a page in an application that hosts the Microsoft
WebBrowser control, you will get the following scripting error message:
Permission Denied
This error occurs specifically at a location in script code where the
VBScript method MsgBox is called.
It also occurs if the WebBrowser control is being hosted using Visual C++
and the Microsoft Foundation Classes' (MFC) default control containment
support.
CAUSE
This error occurs because the IOleInPlaceFrame implementation of the
control container is not returning S_OK from the EnableModeless method.
MFC's control containment support returns E_NOTIMPL, which causes the
scripting engine to not allow a message box to be displayed; hence, the
"Permission Denied" error.
RESOLUTION
Modify the control container to return S_OK from the
IOleInPlaceFrame::EnableModeless method. EnableModeless should prepare the
top-level frame for the display or removal of a modal dialog box based on
the supplied Boolean parameter. Refer to the documentation for
IOleInPlaceFrame::EnableModeless for more information on how to implement
this method.
This problem does not occur when hosting the Internet Explorer 4.0
WebBrowser control in an MFC application.
STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article. This bug has been corrected in Microsoft
Internet Explorer 4.0.
REFERENCES
For additional information on modifying MFC control containment support to
override this method, please see the following article in the Microsoft
Knowledge Base:
141277 How to Override an Interface in an MFC Application
Keywords: kberrmsg kbbug kbfix KB182032