Microsoft KB Archive/182323

= BUG: ClassView Add... Errors with Read-Only Project Files =

Article ID: 182323

Article Last Modified on 12/8/2003

-

APPLIES TO


 * Microsoft Visual C++ 5.0 Enterprise Edition
 * Microsoft Visual C++ 6.0 Enterprise Edition
 * Microsoft Visual C++ 5.0 Professional Edition
 * Microsoft Visual C++ 6.0 Professional Edition
 * Microsoft Visual C++ 6.0 Standard Edition

-



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.
 * 1) Right-click Add Virtual Function or Add Windows Message Handler.

NOTE: No visible response occurs.
 * 1) Close the workspace and reopen it.
 * 2) 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

