首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MFC数据交换验证

MFC数据交换验证
EN

Stack Overflow用户
提问于 2011-11-23 00:08:08
回答 3查看 698关注 0票数 0

我们正在使用MFC数据交换来验证一些数据,但我们遇到了一些问题。我们使用DDV_MinMaxFloat调用来确保应用程序不同部分的编辑框包含指定范围内的浮点数。使用此验证时,如果输入的值超出范围,则会自动向用户显示一个对话框,指示该值必须在指定的范围内。当在debug中运行应用程序时,这已经正常工作了,然而,当我们构建一个版本时,我们得到了问题。验证仍然在发布模式下执行,但是显示给用户的消息框是空白的。

我尝试了通常的强制重建,删除旧的资源文件和删除预编译头文件,但这种情况在发布模式下继续发生。以前有没有人遇到过这个问题?有什么显而易见的东西需要寻找吗?

我还应该补充说,这个应用程序已经有10多年的历史了,所以很明显以前一直工作正常。在过去的几周里,不知何故出了什么差错,导致了这种情况。

EN

回答 3

Stack Overflow用户

发布于 2011-11-23 00:25:10

这些消息将来自MFC的资源字符串。可能会与您自己的资源发生冲突。检查以确保您的资源符合微软的指导方针TN020: ID Naming and Numbering Conventions

请特别注意这一点:

的内部框架实现保留了两个范围: 0x7000到0x7FFF和0xE000到0xEFFF。

票数 1
EN

Stack Overflow用户

发布于 2011-11-23 00:17:06

在过去的几周里不知何故出了问题,导致了这种情况。

由于您的应用程序在几周前运行良好,因此应该很简单:从您的修订控制系统中签出最后一个工作版本,并将其与当前版本进行比较。或者尝试将其范围缩小到不再起作用的第一个版本。

票数 0
EN

Stack Overflow用户

发布于 2011-11-24 19:10:59

如果显示的消息框上有控件,并且控件上的文本为空,或者根本没有控件,请与Spy++进行核对。如果文本为空,则必须检查资源或消息框的调用/创建方式。否则,可能是资源设置不正确,消息假设它可以从::AfxGetResourceHandle()读取资源字符串。请注意,这是一个很容易犯的错误-它是一个全局句柄,可以在任何地方更改(包括在您无法控制的dll中),因此在代码的远程部分,乍一看似乎不相关的更改可能会触发它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8229898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档