0xC015000F:正被停用的激活上下文不是最近激活的


 

  在網上搜索了一下,先找到一個提示,可以在CApp::InitInstance()中禁用ActivationContext:
  afxAmbientActCtx= FALSE;
  這種做法能“解決”問題,但進一步查證后發現這實際上是隱藏問題。
   Junfeng Zhang在自己的博客中給了比較詳細的解釋(http://blogs.msdn.com/b/junfeng/archive/2006/03/19/sxs-activation-context-activate-and-deactivate.aspx)。基本上出現這個錯誤,是因為在代碼中拋 出了異常,從而跳過了與Context Activation對應的Deactivation,導致后續調用Deactivation時,發現棧中的Context不對。
  而MSDN 論壇中, 網友MMDev在回答別人的帖子(http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/c3feab0f-601b-4ca6-beb2-8d4d615438cc/)時給出了比較好的解決方案:
  在Visual Studio中,選擇Debug | Exceptions菜單項,在彈出的對話框中,勾選所有的Win32 Exceptions,這樣在Win32的異常拋出時,程序就會中斷,這樣就有機會在第一時間(異常處理前)看到自己的代碼中發生了什么錯誤導致拋出異常,從而改正錯誤,消除程序中的隱患。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM