BUG: ClassView Add... Errors with Read-Only Project Files (182323)



The information in this article applies to:

  • Microsoft Visual C++, 32-bit Enterprise Edition 5.0
  • Microsoft Visual C++, 32-bit Enterprise Edition 6.0
  • Microsoft Visual C++, 32-bit Professional Edition 5.0
  • Microsoft Visual C++, 32-bit Professional Edition 6.0
  • Microsoft Visual C++, 32-bit Learning Edition 6.0

This article was previously published under Q182323

SYMPTOMS

ClassView offers the following four options for classes on the shortcut menu:

  • Add Member Function
  • Add Member Variable
  • Add Virtual Function
  • Add Windows Message Handler
These operations fail if project source files are read-only.

The first two operations fail displaying one of the following messages:

One or more of the files for ... are read-only.
The implementation file for class ... cannot be found.
The last two operations listed above fail without any message or visual cue. They may not be presented as options.

CAUSE

Source file permissions are read-only, perhaps due to source control.

RESOLUTION

Change the source file permissions to permit write access. In a source control environment, this may require checking out the file, or having the file's current owner check it back in.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.

MORE INFORMATION

The .ncb file contains ClassView browser information. If it is read-only at the time Visual C++ opens the project, ClassView is unavailable. The .clw file contains ClassWizard information. If it is read-only at the time Visual C++ opens the project, the Add Virtual Function and Add Windows Message Handler options are unavailable on the ClassView context menu for classes.

Steps to Reproduce Behavior

  1. Create a new MFC AppWizard (exe) project.
  2. Change the file permissions to read-only for all files except the .ncb file.
  3. Right-click a class in ClassView; select Add Member Function or Add Member Variable.

    NOTE: A message box appears, but the "Add..." dialog box does not.
  4. Right-click Add Virtual Function or Add Windows Message Handler.

    NOTE: No visible response occurs.
  5. Close the workspace and reopen it.
  6. Right-click a class in ClassView. The Add Virtual Function and Add Windows Message Handler options do not appear on the context menu.
For additional information, please see the following article(s) in the Microsoft Knowledge Base:

140252 PRB: ClassWizard Disables Add Function & Add Variable Buttons

REFERENCES

Visual C++ online books: "File Types Created for Visual C++ Projects."

Modification Type:MajorLast Reviewed:12/8/2003
Keywords:kbBug kbCtrl kbide kbInprocSvr kbNoUpdate kbpending kbwizard KB182323