>>===问题现象===<<
正在做的一个命令启动后,会打开一个非模态对话框A,点击其中的一个Button按钮,会DoModal()另一个模态对话框B。
但从某一个变更集开始,启动命令点击Button后会弹出“不支持尝试执行的操作”的提示对话框,点该对话框的“确定”后,继续弹出“不支持尝试执行的操作”。
对话框B在多个地方都会启动,也有从其他对话框DoModal()打开的,除了对话框A,其他地方都能正常启动。
>>===问题研究===<<
发现问题后真是百思不得其解,查了很多中文网站,关于弹出“不支持尝试执行的操作”,主要查到以下两种情况:
(1)删除了对话框中的控件,但没有删除控件关联的变量或者在DoDataExchange()对应的DDX。
(2)resource.h中ID重复。
第一种情况,对话框B中不存在这种问题。
第二种情况,在对话框B的资源中确实有很多ID对应的序号(如:#define IDC_XXX_XXX 1000,序号为:1000),在同一资源文件中是重复的。查了一下序号重复的问题,对话框