我有一個簡單的對話框,其中包含新的MFC瀏覽編輯控件。該控件使用成員變量嚮導鏈接到'CMFCEditBrowseCtrl m_edit'。嚮導生成的映射看起來很好。VS2010,MFCEditBrowseControl堆崩潰
在首次運行時,編輯控制被填充有中國類型的字符或有時問號,然後崩潰或者當瀏覽按鈕第一次按下,或者一旦一個文件已被選擇。
該應用程序崩潰與堆損壞失敗。
當我創建一個新的測試項目並執行相同的步驟時,所有工作都正常 - 只有當我嘗試在更大的較舊項目中實現瀏覽編輯控件並且升級歷史約爲VS2003 - > VS2005時, > VS2008 - > VS2010。
沒有什麼古怪的代碼,我懷疑它可能有一些做項目的清單或一些其它的初始化指令/衝突。我已經複製並粘貼了測試項目中的CWinApp :: InitInstance代碼,希望這可能會揭示某些內容,但行爲仍然相同。
任何想法?
我與更新Microsoft Connect上的進一步信息此評論。不幸的是,將項目轉換爲Unicode的唯一解決方案仍然存在。 – Jonas 2012-12-18 12:06:56
經過一些進一步的調查,就在我放棄依賴此控件的代碼時,我注意到一種解決方法可能不是將CMFCBrowseEditCtrl直接放置在對話框中,而是放置一個CEdit控件!然後在頭文件中,用CMFCBrowseEditCtrl替換控件的成員可檢索類型CEdit。我發現這個工作,因爲我發現一些舊的代碼也使用這種控制,運作良好。 – Jonas 2012-12-18 14:03:58