Warning: dialog data checkbox value (-858993460) out of range.
2013-01-12 20:45
609 查看
checkbox期望的值的为0、1和2共3个,如果传入其他值在调试时就会在vs输出窗口输入一行字符串:“Warning: dialog data checkbox value (%d) out of range. ”,其中的 %d 就是传入的值。
般情况下,我们设置checkbox不会传入除了TRUE、FALSE、true和false以外的值的,出现那一行字符串一般是在对话框初始化的时候,如下面的CDemoDlg的m_bEffect没有在构造函数后初始化
找到没有初始化的checkbox,在对话框构造函数添加初始化代码即可。但如果对话框有很多,难于找到没有初始化的checkbox,可在输出到vs输出窗口的函数里下断点。使用TRACE宏可以方便地在vs窗口输出信息,那一行字符串也是使用TRACE来输出的,而TRACE宏实际是使用CTraceFileAndLineInfo类来输出,在CTraceFileAndLineInfo的operator()函数下断点即可(CTraceFileAndLineInfo定义在vs sdk目录中的atltrace.h文件里)。如下图
般情况下,我们设置checkbox不会传入除了TRUE、FALSE、true和false以外的值的,出现那一行字符串一般是在对话框初始化的时候,如下面的CDemoDlg的m_bEffect没有在构造函数后初始化
CDemoDlg::CDemoDlg(CWnd* pParent /*=NULL*/) : CDialog(CDemoDlg::IDD, pParent) // , m_bEffect(FALSE) // 如果m_bEffect没有在这里初始化 { //{{AFX_DATA_INIT(CDemoDlg) // m_bEffect = FALSE; // 如果m_bEffect也没有在这里初始化 //}}AFX_DATA_INIT } void CDemoDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDemoDlg) DDX_Check(pDX, IDC_CHECK_EFFECT, m_bEffect); // m_bEffect没有初始化这里就会输出那一行字符串 //}}AFX_DATA_MAP }
找到没有初始化的checkbox,在对话框构造函数添加初始化代码即可。但如果对话框有很多,难于找到没有初始化的checkbox,可在输出到vs输出窗口的函数里下断点。使用TRACE宏可以方便地在vs窗口输出信息,那一行字符串也是使用TRACE来输出的,而TRACE宏实际是使用CTraceFileAndLineInfo类来输出,在CTraceFileAndLineInfo的operator()函数下断点即可(CTraceFileAndLineInfo定义在vs sdk目录中的atltrace.h文件里)。如下图
相关文章推荐
- MFC下调试 出现 Warning: initial dialog data is out of range.
- 手机字段存储报错 :Warning Code : 1264 Out of range value for column ‘buyer_tpl’ at row 1
- 手机字段存储报错 :Warning Code : 1264 Out of range value for column 'buyer_tpl' at row 1
- [MySQL学习]STRICT_ALL_TABLES对应的OUT of RANGE VALUE FOR COLUMN和DATA truncated FOR COLUMN
- Data truncation: Out of range value for column '列名' at row 1
- mysql Out of range value adjusted for column导致Warning(1265)Data truncated for column 'column_name' at row 1
- [entity framework ] The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
- EF 6.0 The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value. c#中的时间
- com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value adjusted for column 'price'
- conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
- InnoDB: MySQL and InnoDB data dictionaries are out of sync + InnoDB: AUTOINC next value generation
- 如何解决BIGINT UNSIGNED value is out of range
- Magento后台批量删除产品报错Fix for Magento issue: (SQLSTATE[22003]: Numeric value out of range: 1690 BIGINT UN
- 处理unsigned相减错误(BIGINT UNSIGNED value is out of range)
- ([Oracle][ODBC]Numeric value out of range.)Biztalk项目中Oracle适配器,目标字段有date类型时报错
- Sys.ArgumentOutOfRangeException: Value must be an integer 错误的原因
- 将int字段改为decimal类型时出现1264 Out of range value的问题分析和处理
- Mysql ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in..的解决方法
- mysql保存数据提示:Out of range value for column
- Mysql Query error: BIGINT UNSIGNED value is out of range in..解决方法