精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
锐英源开源心得,禁止任何转载,有技术问题请找锐英源孙老师QQ396806883,微信ryysoft。
向客户发布Exe后,测试出不支持尝试执行的操作,如下图:
因为代码在别的项目里用的好好的,对出问题觉得奇怪。
加断点跟踪,进到对话框里的DoDataExchange函数里,DDX_Text行上出错。怀疑是资源ID有重复,就改资源ID不重复,但问题没有解决。
DDX_这类处理,ID没有问题,哪就是资源问题了,打开别的项目的对话框界面,和出问题项目的界面对比,发现界面不一样,DDX_行里出现的资源ID在界面上就没有,把好的项目里的界面上的控件全选择上,拷贝到有问题项目对话框界面上,再编译执行问题解决。
问题的根本原因本来是想2个项目共用代码和资源,但是因为又涉及到comment lib路径问题,再也协调不好,就不共用了,2个项目都有一份代码和资源,但是在有问题项目上资源没同步,资源和代码不对应,就出错了。
另外这个问题表明MFC太老了,这类错误出的提示确实太奇怪,象安卓和ios开发,界面布局和资源ID检查和控制还不错,C#也不错。