[MFC]UpdateData()的问题

昨天写代码,在UpdateData()之后调用CDialog::OnOk()程序立刻崩了.

 

我的本意是点击确定按钮之后把数据保存起来,然后关闭对话框,奈何,行不通.

 

当时不知道,尝试了各种办法:CDialog:OnCancel()/CDialog:Close()/CDialog:DestoryWindow()/SendMessage()......

 

气得我当时就想来一个ExitProcess(),调试的时候中断,跳到了SDK的代码里,异常在一处ASSERT,可笑的是居然有这样一个注释:

 

//Call UpdateData() ?

 

居然能有人未卜先知,知道我要断在这个地方,难道又是什么MFC的潜规则???

 

K,我不关了,我点另一个按钮关行吧.

 

今天心血来潮,把所有EDIT的OnChange事件全写了一句话UpdateData();按钮的单击事件不用UpdateData();

 

这下没问题了.

 

看来这个UpdateData();还真不好用,或者说是MFC的一个缺陷???

你可能感兴趣的:(mfc)