Solved

VC++ 6.0 ClassWizard Error

Posted on 1998-11-09
9
597 Views
Last Modified: 2011-09-20
Strange problem just started happening with VC++ 6.0 ClassWizard.  

1) I'm trying to add a new message handler to a class
2) I open CW and choose object ID, message, and click Add Function.
3) I then click on Edit Code and get a dialog which says:
"Error while updating file(s)(...gives name of files here...) for class CMainDialog"
4) No further information is given about this error.
5) I did delete the clw file and rebuilt the database, no effect.
0
Comment
Question by:jhance
9 Comments
 
LVL 1

Expert Comment

by:TheGrinch
ID: 1177308
I've had this problem in VC++ 5, and it drove me NUTS!

Here's how I solved the problem...

Make sure the files that the ClassWizard is going to modify are open in the editor. Then the problem never happens.

(I've searched the Microsoft Knowledge base on this problem, and haven't found anything.)
0
 
LVL 32

Author Comment

by:jhance
ID: 1177309
Nice try, it even seemed logical.  Too bad it didn't work.
0
 
LVL 1

Expert Comment

by:TheGrinch
ID: 1177310
Well, VC++ 6 still has problems in this general area.
This works with VC++ 5.
Hoped it would help you, too.
Good luck.
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 32

Author Comment

by:jhance
ID: 1177311
Adjusted points to 200
0
 
LVL 2

Expert Comment

by:rayb
ID: 1177312
Did you apply service pack 1 yet?
http://msdn.microsoft.com/visualc/default.asp
0
 
LVL 32

Author Comment

by:jhance
ID: 1177313
Yes, I have installed the service pack.  Further, if you read the release notes to the SP, there is no indication of a fix for a problem of this type.
0
 
LVL 1

Accepted Solution

by:
fstab earned 200 total points
ID: 1177314
You might have the wrong permissions (don't ask me how) or file attributes for the file into which CW is writing into. Try removing read attribs and use CW again. Another possibility is that you might have changed the class's name somewhere in the header file (in the Message Maps maybe?) - do a case insensitive search for your class name and maybe this'll do the trick.
0
 
LVL 32

Author Comment

by:jhance
ID: 1177315
fstab,

You may be on to something here.  It's not the file attribs, there are no read-only files set but I got to looking at the maindlg.h file and found that everything between the:


      // Generated message map functions
      //{{AFX_MSG(CMainDialog)

and the

      //}}AFX_MSG

had been duplicated many times.  I deleted all of the extra ones and tried to add a message handler again.  No go, BUT the entire list of message maps was duplicated again.  Each time I try and add the message map, the list is duplicated again.

Any further ideas?


0
 
LVL 32

Author Comment

by:jhance
ID: 1177316
Well, I did find the problem.  It's not what you said but your comment got me looking the the right area.  The situation was that one of my message map function declarations in the header file had somehow gotten outside of the ClassWizard commented block.  When I moved it back where it belonged, everything was OK.
0

Featured Post

Are your AD admin tools letting you down?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: SunnyDark
This article's goal is to present you with an easy to use XML wrapper for C++ and also present some interesting techniques that you might use with MS C++. The reason I built this class is to ease the pain of using XML files with C++, since there is…
  Included as part of the C++ Standard Template Library (STL) is a collection of generic containers. Each of these containers serves a different purpose and has different pros and cons. It is often difficult to decide which container to use and …
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question