亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

VC編程中關于新建的框架窗口的銷毀的一個心得

系統(tǒng) 2212 0

因為要做一個項目,其中一個需求是動態(tài)新建一個單文檔框架窗口和視圖窗口。大致清楚單文檔窗口的構建需要新的框架類調(diào)用LoadFrame函數(shù)來觸發(fā)。新建并顯示窗口并不是大問題,在程序退出時釋放框架窗口的相關內(nèi)存的釋放出現(xiàn)了一些問題。

代碼實現(xiàn)過程大致是這樣的:
首先在應用程序類里定義一個框架類指針:

新建框架窗口的相關代碼:

最后在應用程序類的ExitInstance()函數(shù)對框架窗口進行銷毀:

編譯通過,開始運行。先運行主框架,然后新建一個框架窗口,然后關閉新建的框架窗口,再退出主程序就出現(xiàn)下面的錯誤:

經(jīng)過發(fā)現(xiàn),錯誤是在CNewFrameApp::ExitInstance()函數(shù)的m_pOpenglFrame->DestroyWindow()這一句觸發(fā)的。

我分析,在關閉新建的框架窗口后新建的框架窗口的窗口句柄已經(jīng)無效,但是其值并非為NULL,使用NULL!=hWnd來判斷窗口句柄是否有效并不準確,我要做的是找到一種準確判斷窗口句柄是否有效的辦法。于是我把代碼改為:

測試后問題解決,程序可以順利退出也沒有內(nèi)存泄露。值得一提的是單擊新建框架窗口的關閉按鈕這時框窗口的相關內(nèi)存的釋放是由它的父類CFrameWnd的PostNcDestroy函數(shù)完成:

<!--[if gte mso 10]> <mce:style><! /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} > <! [endif] > </p> <p class="MsoNormal"><span style="font-size: medium;" mce_style="font-size: medium;"><span style="font-family: 宋體;" mce_style="font-family: 宋體;">&nbsp;&nbsp; 測試后問題解決,程序可以順利退出也沒有內(nèi)存泄露。值得一提的是單擊新建框架窗口的關閉按鈕這時框窗口的相關內(nèi)存的釋放是由它的父類<span class="line"><span lang="EN-US">CFrameWnd</span>的<span lang="EN-US">PostNcDestroy</span>函數(shù)完成:</span></span></span></p> <p class="MsoNormal"><span style="font-size: medium;" mce_style="font-size: medium;"><br /></span></p> <p class="MsoNormal"><span style="font-size: medium;" mce_style="font-size: medium;"><span style="font-family: 宋體;" mce_style="font-family: 宋體;"><span class="line"><textarea cols="50" rows="15" name="code" class="cpp">void CFrameWnd::PostNcDestroy() {  // default for frame windows is to allocate them on the heap  // the default post-cleanup is to 'delete this'.  // never explicitly call 'delete' on a CFrameWnd, use DestroyWindow instead  delete this; } </textarea> <br /></span></span></span></p> <p>&nbsp;<-->

VC編程中關于新建的框架窗口的銷毀的一個心得


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 奇米影视四色7777 | 色狠狠一区二区三区香蕉蜜桃 | 国内毛片视频 | 91福利影院| 九色国产在视频线精品视频 | 欧美激情影院 | 咪咪色在线视频 | 九九精品视频一区在线 | 99久久免费国内精品 | 正在播放国产精品 | 四虎影院成人在线观看 | 中文字幕亚洲综合久久202 | 欧美综合视频在线观看 | 久青草国产手机在线视频 | 久久精品无码一区二区三区 | 亚洲综合久久久久久中文字幕 | 蕾丝视频在线看片国产 | 女人18免费毛片视频 | 色婷婷婷丁香亚洲综合不卡 | 五月精品 | 性夜黄a爽爽免费视频国产 性夜影院爽黄a爽免费看网站 | 国产成人精品2021欧美日韩 | 看一级毛片一区二区三区免费 | 波多野结衣中文字幕一区二区 | 一级毛片在线播放免费 | 日本特级aⅴ一级毛片 | 69日本人xxxx16—18 | 亚洲国产天堂久久九九九 | 成人最新午夜免费视频 | 国产成人精品自拍 | www.国产精品 | 韩日精品在线 | 亚洲欧美日韩成人一区在线 | 亚洲va精品中文字幕动漫 | 日本高清视频一区二区三区 | 国产亚洲精品网站 | 可以免费观看的一级片 | 久艹在线播放 | 深夜精品影院18以下勿进 | 男女一级毛片免费播放 | 日本久久一区二区 |