Q294704: PRB: VC ClassView Doesn’t Show Classes Defined in Header File
Article: Q294704
Product(s): Microsoft C Compiler
Version(s): 6.0
Operating System(s):
Keyword(s): kbVC kbVC600 kbDSupport
Last Modified: 11-JUN-2002
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual C++, 32-bit Editions, version 6.0
- Microsoft Visual C++.NET (2002)
-------------------------------------------------------------------------------
IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:
Q256986 Description of the Microsoft Windows Registry
SYMPTOMS
========
Classes defined in a header file are not being displayed in ClassView in Visual
c++ version 6.0 and Class View in Visual C++ .NET.
CAUSE
=====
Any of the following could cause this problem:
1. A header file extension may be different from the product convention (.h, for
example).
2. The Class View database file .ncb may have become corrupted.
3. A second instance of Visual C++ may be running with the same project loaded.
4. The Class View database file .ncb has the read-only attribute selected.
5. The project may have been saved to a removable drive.
RESOLUTION
==========
WARNING: If you use Registry Editor incorrectly, you may cause serious problems
that may require you to reinstall your operating system. Microsoft cannot
guarantee that you can solve problems that result from using Registry Editor
incorrectly. Use Registry Editor at your own risk.
The following solutions correspond to the specific causes noted above:
1. Add extensions (if you are using other extensions for header files like .hh)
to the registry key:
HKCU\Software\Microsoft\DevStudio\6.0\Text Editor\Tabs/Language
Settings\C/C++
For Visual C++ .NET, add the extension (including the .) to NCB Default C/C++
Extensions in:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\7.0\Languages\Language
Services\C/C++
2. If the Class View database file .ncb is corrupt, close the workspace or
solution, delete the .ncb file, and then reopen the workspace.
3. Check to see if there is a second instance of Visual C++ running that has the
same project loaded. If the second instance is visible, simply close it.
However, the second instance may be hidden. If so, use Task Manager or PView
to close that instance.
4. Check whether the ClassView database file .ncb has the read-only attribute
selected. Visual C++ must have write access. Remove the read-only attribute.
This may include removing the file from Source Code Control, or checking it
out if that is not possible.
5. If the project is being saved to a removable drive, save the project to the
local hard drive and see if the problem still occurs.
MORE INFORMATION
================
For additional information, click the article number below to view the article
in the Microsoft Knowledge Base:
Q181506 HOWTO: Make VC++ Recognize File Extensions as C/C++ Files
Additional query words:
======================================================================
Keywords : kbVC kbVC600 kbDSupport
Technology : kbVCsearch kbAudDeveloper kbVC600 kbVC32bitSearch kbVCNET
Version : :6.0
Issue type : kbprb
=============================================================================
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.