FIX: Non-U.S. English DevStudio Typelibs Improperly Registered (186882)
The information in this article applies to:
- Microsoft Visual C++, 32-bit Enterprise Edition 5.0
- Microsoft Visual C++, 32-bit Professional Edition 5.0
This article was previously published under Q186882 SYMPTOMS
Macro constants in Visual Basic Scripting Edition are not defined in non-
U.S. English installations, and the OLE/COM Object Viewer fails to display
the four Visual C++ type libraries.
CAUSE
The Visual C++, version 5.0 type libraries are compiled for the U.S.
English locale and the installation registers them under that locale code.
RESOLUTION
To access the original type libraries programmatically, use
LoadRegTypeLib(), and specify U.S. English as the locale ID (LCID). The
LCID for U.S. English is 0x409.
To use VBScript macro constants, temporarily change the Regional Settings
in Control Panel to English (United States). Change the settings back to
the desired locale after using Visual C++.
For additional information, please see the following article in the
Microsoft Knowledge Base:
183813
Developer Studio Macro Constants Not Defined
STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article. This problem was corrected in Microsoft
Visual C++, version 6.0.
REFERENCES
Platform SDK: COM and ActiveX Object Services; Automation; Exposing ActiveX
Objects; Type Libraries; Registering a Type Library
Platform SDK: COM and ActiveX Object Services; Automation; Type Description
Interfaces; Overview of Type Compilation and Library Functions;
LoadRegTypeLib
Visual C++ Online Books; search on "LoadRegTypeLib"; search on "Registering
a Type Library"
Modification Type: | Major | Last Reviewed: | 10/17/2003 |
---|
Keywords: | kbAutomation kbBug kbcode kbfix kbide kbRegistry kbVC600fix KB186882 |
---|
|