When the Composite control attempts to create a licensed control on a computer without providing a run-time license, the Composite control fails with an HRESULT of 0x80040112 (CLASS_E_NOTLICENSED - Class is not licensed for use). The default handling of this failure creates a Web Browser control; the default handling also tries to initialize the Web Browser control with persisted properties of the licensed control. This mismatch of properties may result in an access violation in the Ole32.dll file.
If there is no access violation, the Web Browser control attempts to navigate to a URL that is the string representation of the licensed control's CLSID. This action results in the error message "The page cannot be displayed."
Note that this solution works only for debug and minimum-dependency builds. All changes from the original Althost.h file are marked with the comments "BEGIN CHANGE" and "END CHANGE".
This solution may not work when creating ActiveX controls dynamically by using the Win32 CreateWindow function with the control properties passed in as the last parameter.
For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
Release Date: Apr. 13, 2000
For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:
Steps to Reproduce Behavior
- Create an ATL DLL project and insert a Composite control object in the project.
- In the Composite control dialog box, insert the Microsoft TreeView Control.
- Build and test the control on any container.
- Test the control on a computer without Visual C++ installed and you should see the error described in the "Symptoms" section.
ID d'article : 228530 - Dernière mise à jour : 3 mai 2005 - Révision : 1