“0xC015000F 正在被停用的激活上下文不是最近激活的”錯誤解決方法

轉自:http://blog.csdn.net/rabbit729/article/details/6634755

程序在windowsXP和Windows7 32系統下運行的好好的,今天裝了一個windows7 64位系統(說明,程序本身還是32位開發的),運行時出現“0xC015000F 正在被停用的激活上下文不是最近激活的”這個錯誤,找了好長時間才解決,下面總結如下:

   網上提到較多的方法是在調用CWinApp::InitInstance();接口後面使用afxAmbientActCtx = FALSE;我採用這個方法後確實不會出現這個問題,不過我的程序中有一些代碼由於把這個變量設成false後導致不執行,所以會出現其他問題,所以放棄該方法。

 我採用的方式是將Debug時所有MFC異常都拋出,不讓MFC處理異常,這樣就不會導致crash,方法如下:在VS2008中“Debug”菜單->“Exceptions”->"Win32 Exceptions",然後將這些異常都拋出就可以了,將所有的都check上。不過這樣的話應該也會把其他異常給拋出了,比如內存越界之類的。你的代碼最好在其他機子上測一下,處理這些異常。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章