多数情况是对象 (Object)没有创建完成,就去执行某种操作 比如一个对话框在没有初始化的时候,就去执行对于其子窗口控件的操作... .
很可能的原因是这里:
void CYourDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_BUTTON1, m_btn1);
}
你把对话框里的按钮已经删了,但是由于IDC_BUTTON1是在Resource.h里定义,你并没有删除,所以就是你编译时可以通过,运行时老提示 "试图执行系统不支持的操作 "
上面是网上说的一部分原因。我感觉自己的错误是由于第二个造成的。因为自己改了一个控件ID,不过知识在对话框上改了。并没有在自己这个已映射过的类中修改。修改了一下。就好了。