none
MFC9关于DDX类型检查的问题 RRS feed

  • 问题

  • MFC可以将控件绑定到一个变量上,比如创建一个edit控件。然后我们把这个控件绑定到一个类型为UNIT的变量。
    在UpdateDate的时候,会从控件获得值绑到这个UNIT变量上。
    那么当输入为负值的时候,在MFC42中_Afx_DDX_TextWithFormat函数会调用_AfxSimpleScanf。而这个函数内对各中类型进行了检查,当定义UNIT但输入负数的时候会返回FALSE。
    但是MFC9.0中_Afx_DDX_TextWithFormat并没有调用这个函数,而是这是简单的调用了_sntscanf_s这个CRT API。只是做了简单的非空检查。并没有检查负数。不太清楚MFC9.0为什么改成这样了。

    2009年4月3日 9:18
    版主

答案