关于MFC控件变量错误的处理
2008-06-24 15:44
441 查看
MFC 常常会莫名地出现一些奇怪的问题。例如,在一个基于对话框的程序中,往对话框面板拖了几个Static文本控件,并为这几个控件 添加Static变量,然后派生一个Static类(CDrawStatic),手动将静态文本控件变量类型改为CDrawStatic并将旧的信息注释掉,代码如下:
//{{AFX_DATA(CLearnBetterPlayDlg) enum { IDD = IDD_LEARNBETTERPLAY_DIALOG }; /*CStatic m_ctrDrawRectangle; CStatic m_ctrPptNo; CStatic m_ctrPptName; CStatic m_ctrAnswerThemeTimer;*/ CDrawStatic m_ctrDrawRectangle; CDrawStatic m_ctrPptNo; CDrawStatic m_ctrPptName; CDrawStatic m_ctrAnswerThemeTimer; //}}AFX_DATA
当按Ctrl+W时却弹出一个错误警告对话框,显示如下信息: “Parsing error: Expected end-of-line Input line:"CStatic m_ctrlAnswerThemeTimer;*/" 紧接着还有一个"无法添成员"的对话框。 再打开 View->ClassWizard,发现又弹出一个错误对话框,显示的内容跟第一个错误对话框的内容一样。 按照网上流行的方法,把 .clw 文件和 .ncb 文件删除,然后重新生成,可是发现问题依旧。 出现这种情况多半是由于破坏了 MFC 自动生成的代码。MFC 自动生成的代码里,不仅那些蓝的、灰的语句有价值,连某些绿色的注释也是不动产。这些奇奇怪怪的注释信息,是 MFC 进行类信息解析时要用到的,改变这些注释或者注释之间的内容可能会导致解析错误。 将注释/**/去掉换成//,代码如下:
// Dialog Data //{{AFX_DATA(CLearnBetterPlayDlg) enum { IDD = IDD_LEARNBETTERPLAY_DIALOG }; //CStatic m_ctrDrawRectangle; //CStatic m_ctrPptNo; //CStatic m_ctrPptName; //CStatic m_ctrAnswerThemeTimer; CDrawStatic m_ctrDrawRectangle; CDrawStatic m_ctrPptNo; CDrawStatic m_ctrPptName; CDrawStatic m_ctrAnswerThemeTimer; CWebBrowser2 m_ctrIE; //Web控件 //}}AFX_DATA
问题解决了。
更多技术文章请参看施昌权的个人网站: http://www.joyvc.cn
//{{AFX_DATA(CLearnBetterPlayDlg) enum { IDD = IDD_LEARNBETTERPLAY_DIALOG }; /*CStatic m_ctrDrawRectangle; CStatic m_ctrPptNo; CStatic m_ctrPptName; CStatic m_ctrAnswerThemeTimer;*/ CDrawStatic m_ctrDrawRectangle; CDrawStatic m_ctrPptNo; CDrawStatic m_ctrPptName; CDrawStatic m_ctrAnswerThemeTimer; //}}AFX_DATA
当按Ctrl+W时却弹出一个错误警告对话框,显示如下信息: “Parsing error: Expected end-of-line Input line:"CStatic m_ctrlAnswerThemeTimer;*/" 紧接着还有一个"无法添成员"的对话框。 再打开 View->ClassWizard,发现又弹出一个错误对话框,显示的内容跟第一个错误对话框的内容一样。 按照网上流行的方法,把 .clw 文件和 .ncb 文件删除,然后重新生成,可是发现问题依旧。 出现这种情况多半是由于破坏了 MFC 自动生成的代码。MFC 自动生成的代码里,不仅那些蓝的、灰的语句有价值,连某些绿色的注释也是不动产。这些奇奇怪怪的注释信息,是 MFC 进行类信息解析时要用到的,改变这些注释或者注释之间的内容可能会导致解析错误。 将注释/**/去掉换成//,代码如下:
// Dialog Data //{{AFX_DATA(CLearnBetterPlayDlg) enum { IDD = IDD_LEARNBETTERPLAY_DIALOG }; //CStatic m_ctrDrawRectangle; //CStatic m_ctrPptNo; //CStatic m_ctrPptName; //CStatic m_ctrAnswerThemeTimer; CDrawStatic m_ctrDrawRectangle; CDrawStatic m_ctrPptNo; CDrawStatic m_ctrPptName; CDrawStatic m_ctrAnswerThemeTimer; CWebBrowser2 m_ctrIE; //Web控件 //}}AFX_DATA
问题解决了。
更多技术文章请参看施昌权的个人网站: http://www.joyvc.cn
相关文章推荐
- 关于MFC中OpenCV图像处理使用cvFindContours引起的中断错误
- MFC中关于控件和变量对应方法
- 关于Indy TIdTCPServer控件出现 connection closed gracefully 错误的处理
- MFC中关于控件和变量对应方法
- MFC 关于控件变量的使用
- 关于mfc重载CListbox控件出现参数错误的问题
- 关于VS2005通过“添加变量”向导来添加控件变量时出现“控件变量”被禁用的处理办法!
- 变量对话框MFC 关于控件变量的使用
- MFC中关于将控件与成员变量绑定,实现用子类重载控件
- 关于VS2005通过“添加变量”向导来添加控件变量时出现“控件变量”被禁用的处理办法!
- MFC中关于控件变量的使用!
- MFC 关联变量 EditControl控件 UpdateData CString与double转换
- 错误:在一个线程上创建的控件不能成为在另一个线程控件的父级(处理方法)
- 关于ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法
- 关于Visual Studio 2013 编译 multi-byte character set MFC程序出现 MSB8031 错误的解决办法
- 关于wcf异常异常信息:由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribut
- 大话设计模式java版--适配器模式-关于不接口设计错误导致的处理方案
- 关于Mfc中Mscomm使用出现中断错误
- 关于Hibernate中延迟加载错误的处理方案
- Maintance PLAN 报错关于DTS的错误处理