Visual Studio 2005 SP1 的几个Bug

来源:互联网 发布:淘宝专业术语 编辑:程序博客网 时间:2024/06/10 05:44
1. 遇到了这样的问题,利用VS2005写MFC的时候,向导在我想添加消息和事件的处理时,一个劲的弹出“无法执行添加/移除操作,因为代码元素XXX是只读的”,在经过一轮检查后,确认所有相关的文件都是可写的之后,问题依然。

尝试了如下方法:

1. 删除.ncb文件——问题照旧。
2. 删除项目对相关文件的引入,然后重新引入文件——第一次好用了。但再次遇到这个问题的时候(另一个类),就不好用了。原因不明。
3. 关闭打开的.cpp和.h文件——某些时候好用。
4. 关闭VS2005,再重新打开项目——有些时候好用。

同一个类中,只要一类处理(消息/事件)好用一次,就没有限制,短时间内再次添加就没有问题了。但必须是向导好用一次,手动添加进去也无效。好用之后,过一段时间也可能遇到相同问题。

十分搞笑的Bug,看来微软是真的不想再做MFC了(私人为托管C++也不怎么样)。

2. 另外发现了个有趣的设定,在资源里打开对话框时,再打开.h文件(一定要先打开资源)的属性就是类和方法的那几项属性,但关闭对话框资源的话,.h文件的属性就是整个对话框的属性了,包括了事件,消息和重写。尤其是重写这项,好像只有这种情况会出现。感觉有些莫名其妙。

3. 在利用向导对类添加方法或属性时,曾看到过说无论设置成public还是private或者protected都会加成public的。这个我倒没遇到,可能是SP1里修正了。

但我却遇到了更搞笑的。我有一个类T_T0,在增加一个方法后,头文件写入了这个方法的声明,但却增加了一个新文件t_t0.cpp(原来的是T_T0.cpp)结果新加的方法写到它自己新加的文件里去了。搞不懂,头文件都找到了,cpp文件是怎么搞错的呢?
原创粉丝点击