这里有问题描述,详见http://bbs.csdn.net/topics/391868955 然而楼主最终并没有说出错误的真正原因和解决方法。 刚刚在写数据库与MFC编程的时候也遇到了这个神奇bug,搞了很久不明所以。。 过程是这样的———— 1.搞好对话框,如下(后面两个编辑框是IDC_EDIT_Text和IDC_EDIT_Image),Crtl+F5,一切正常———— 2.给前面三个编辑框分别绑定CString、int、int类型变量,Crtl+F5,一切正常—————— 3.给IDC_EDIT_Text和IDC_EDIT_Image这两个编辑框绑定CString、Cstring类型变量,Crtl+F5,然后对话框就没法打开了———— 4.debug,定位在了下面那里(动态数据交换DoDataChange)然而原因是啥不知道。。 5.这两个编辑框无数次删除变量又重新绑定,无数次失败之后依然失败,没理由错啊。。。于是新添了一个编辑框,绑定变量,不出所料,依然失败———— 6.新花样,把第一个编辑框(前面有个“名”那个)删除变量又重新绑定,居然可以正常运行(后面两个编辑框不绑定变量的情况下),晕了———— 7.我在想第一个编辑框(前面有个“名”那个)绑定Cstring变量都没事,为啥后面两个有事。。。试试吧。。于是把动态绑定的代码提到前面去了,如下———— 8.然后!居然可以了- -!一脸懵逼———————— 9.又作死把这段代码放回原来的位置,如下—————— 10.居然也可以,刚才不是不行的么。。。。 解决方案:尝试把绑定CString变量的语句置前试试?