1. 程式人生 > >MFC中執行出現問題“不支援嘗試執行的操作”

MFC中執行出現問題“不支援嘗試執行的操作”

問題描述:

基於CDialogEx的對話方塊工程.VS2010開發環境.

除錯執行到OnInitDialog()的CDialogEx::OnInitDialog()方法的時候彈出提示視窗“不支援嘗試執行的操作”。

 

原因:

在函式對話方塊上的控制元件之後相應的關聯變數沒有取消導致出現該問題。雖然可以順利編譯通過,但會提示該問題。

 

解決方法:

查詢該關聯控制元件的變數,然後刪除該問題控制元件所繫結的變數。

控制元件關聯在DoDataExchange();

 

刪除了某些控制元件,但是對應的控制元件變數沒有刪除掉

 

解決方法:

在控制元件關聯函式 DoDataExchange()中查詢並刪除對應的控制元件變數。


   之前在做MFC介面的時候,因為介面上多了許多控制元件,再清理介面上的控制元件口,繼續執行程式,發現出現錯誤  “不支援嘗試執行的操作”“記憶體不足”等提示,我百度下發現,說是直接刪除控制元件,造成之前控制元件定義的一些變數沒有清理趕緊,包括標頭檔案以及ON_BN_CLICKED,DDX中定義的一些變數,我仔細檢查下發現,確實如此,刪除那些多餘的變數後,執行後,木有問題了。

 

總結:

void CMFCApplication1Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, mage);
//DDX_Text(pDX, IDC_STATIC1, label1);
DDX_Text(pDX, IDC_EDIT2, myear);
//DDX_Text(pDX, IDC_EDIT3, mshux);
//DDX_Control(pDX, IDC_EDIT3, mshuxc);
}

就是刪除這個函式裡的無關變數即可