我有一個C++ mfc應用程序,我試圖用CMultiDocTemplate一次打開許多文檔。 我發現應用程序崩潰,只要我爲第157個文檔調用InitialUpdateFrame。 任何人都可以告訴我這個限制在哪裏嗎? 非常感謝!mfc - 一次打開多個框架
1
A
回答
3
最可能的原因 - 您達到了Windows USER或GDI對象限制。默認情況下,進程不能創建超過10000個USER和10000個GDI對象。如果您的文檔視圖包含許多控件/圖形對象,則很容易超出限制。 157分之10000= 63
所以,如果您的文檔視圖創建63以上USER objects(窗口,圖標,光標等)或GDI objects(位圖,筆,畫筆,字體等),MFC將引發異常CResourceException
,如果你不」明確地處理它,由於未處理的異常,應用程序將中止。
很容易檢查這是否是問題的真正根源。打開任務管理器,選擇Processes
選項卡,在菜單View->Select columns...
檢查USER Objects
和GDI Objects
。運行您的應用程序並查看您的應用程序進程消耗的對象數。
看到這個優秀的文章的詳細信息:Pushing the Limits of Windows: USER and GDI Objects。
+0
這就是問題所在。我從來不知道使用GDI對象的數量。非常感謝! – Chris
相關問題
- 1. 如何在C++ MFC中一次打開兩個對話框?
- 2. 在MFC中打開多個URL
- 3. 在pyqt中打開另一個框架
- 4. 打開和關閉一個框架
- 5. Multipeer框架一次多個會話?
- 6. 如何在打開新框架時關閉前一個框架
- 7. pySerial:一次打開多個端口
- 8. 一次打開多個窗口
- 9. 如何一次打開多個表單
- 10. 多次打開同一個表格
- 11. 未打開框架
- 12. 我如何關閉一個框架,但打開一個新的框架?
- 13. 如何從另一個框架中打開一個框架中的特定html?
- 14. 我將如何關閉一個框架並打開另一個框架?
- 15. Play框架打開的文件太多
- 16. 滾動到手風琴項目一次打開(基礎框架)
- 17. 使用$對話框多次打開同一對話框
- 18. UI對話框打開多次
- 19. JqueryUI - 多次打開對話框
- 20. jQuery UI對話框打開多次MVC4
- 21. MFC打開文件夾對話框
- 22. MFC中的打開對話框C++
- 23. 在std :: thread中打開MFC對話框
- 24. 打開多個對話框
- 25. python GUI關閉一個框架並打開另一個
- 26. 如何在另一個框架中打開一個頁面
- 27. 單擊一個JLabel打開一個新框架
- 28. ngDialog多次打開
- 29. 單擊多次文件對話框時會多次打開AngularJS
- 30. jQuery UI對話框僅打開一次
您能否提供有關碰撞的更多信息?當它崩潰時,您是否在IDE中運行它,您是否可以捕獲異常或從您的應用程序獲取錯誤結果? – Tony
請提供崩潰調用堆棧 – Rost
我似乎找不到任何其他信息。我直接在PC上運行.exe。我知道它崩潰時,我調用CMultiDocTemplate類的InitialUpdateFrame函數 – Chris