MFC datetimepicker中断

窗户 2015-12-14 01:29:07
Debug Assertion Failed!

Program: C:\WINDOWS\SYSTEM32\mfc110ud.dll
File: f:\dd\vctools\vc7libs\ship\atlmfc\include\atltime.inl
Line: 187



错误断点在
ATLENSURE( nMonth >= 1 && nMonth <= 12 );
这一行,

我的代码
void CMFCApplication1Dlg::OnDtnDatetimechangeDatetimepicker1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMDATETIMECHANGE pDTChange = reinterpret_cast<LPNMDATETIMECHANGE>(pNMHDR);
//@TN
*pResult = 0;
// TODO: 在此添加控件通知处理程序代码
*pResult = 0;
CTime time;
CDateTimeCtrl m_date;
m_date.GetTime(time);

}
跪求解决谢谢
...全文
174 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2016-01-22
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复多日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
信阳毛尖 2015-12-14
  • 打赏
  • 举报
回复
CTime time; CDateTimeCtrl m_date; m_date.GetTime(time); ----------------------------------------- 我很奇怪的是,你这句代码啥意思? CDateTimeCtrl m_date这句只是创建了一个日期类对象,可它更是一个窗口啊! 你不知道哪里出问题了可以单步调试F11跟进去看看代码嘛,m_date.GetTime(time)的流程应该是向CDateTimeCtrl 窗口请求具体日期,存放到SYSTEMTIME结构体中,由于CDateTimeCtrl 窗口句柄为NULL,所以获取不到,很显然MFC在写这个功能的时候SYSTEMTIME结构没有初始化,进而造成这个断言,猜都能猜的到 我猜你的意思是要获取当前系统时间吧? 如果是的话,直接::GetSystemTime,需要的话,再根据SYSTEMTIME结构自己去转成CTime
窗户 2015-12-14
  • 打赏
  • 举报
回复
Debug Assertion Failed! Program: C:\WINDOWS\SYSTEM32\mfc110ud.dll File: f:\dd\vctools\vc7libs\ship\atlmfc\include\atltime.inl Line: 187 Expression: __atl_condVal For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts.

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧