青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-60  評論-262  文章-1  trackbacks-0
用 VC6 和 VC71 裝載的 ATL 開發軟件的人都知道, 當我們定義了一個自銷毀窗口時, 一般在 ATL 窗口類的

virtual void OnFinalMessage(HWND ){...}

函數內加一句

delete this;

然后就返回了. 但是氣人的是, 每次當我們返回后, 總有一個地方斷言失敗,

ATLASSERT(pThis->m_pCurrentMsg == &msg);

Google 了許久, 沒有滿意的解決方案, 包括微軟的方案

http://support.microsoft.com/kb/202110

也不好, 自己想盡辦法還是 "山重水復疑無路", 后來突然靈光突現, 徹底解決, 就一個函數調用而已: IsWindow(...). 現在, 終極解決方案是這樣的:
搜索 atlwin.h 文件內的 "ATLASSERT(pThis->m_pCurrentMsg == &msg);" 字符串 (在文件內有 3 處), 將其原始內容
    LRESULT lRes;
    BOOL bRet 
= pThis->ProcessWindowMessage(pThis->m_hWnd, uMsg, wParam, lParam, lRes, 0);
    
// restore saved value for the current message
    ATLASSERT(pThis->m_pCurrentMsg == &msg);
    pThis
->m_pCurrentMsg = pOldMsg;
改成
    LRESULT lRes;
    BOOL bRet 
= pThis->ProcessWindowMessage(pThis->m_hWnd, uMsg, wParam, lParam, lRes, 0);
    
if(FALSE == ::IsWindow(pThis->m_hWnd)) {
        return
 lRes; // 在 CDialogImplBaseT 類里是 return FALSE;  特此說明
    }
    
// restore saved value for the current message
    ATLASSERT(pThis->m_pCurrentMsg == &msg);
    pThis
->m_pCurrentMsg = pOldMsg;
其中紅色的代碼為我們的修正代碼. 萬事大吉. 再也不會出現斷言失敗了.

道理是這樣的: 如果 pThis 對象被刪除了的話, 那么 pThis 本身和其成員變量 m_hWnd 都將是一個無效值, 那么后續的操作將毫無意義. 因此直接返回, 不用廢話.

真是簡單的思路直指問題的核心啊.

posted on 2008-07-02 15:44 free2000fly 閱讀(2316) 評論(4)  編輯 收藏 引用

評論:
# re: 將 ATL 的一個頑固 Bug 修正了 2008-09-12 21:40 |
錯!

不要更改消息泵, 加一個窗口判斷是極其愚蠢的,代價是極其昂貴的。

不能這么干,再說了 如果之前 delete this, pThis 就是一個非法指針  回復  更多評論
  
# re: 將 ATL 的一個頑固 Bug 修正了 2008-09-14 09:17 | free2000fly
@錯
提出更合理的解決方案來! 僅僅對非法指針進行讀取而不做其他操作是安全的, 我懷疑你有沒有真正看明白我在說什么.
總有人自以為是, 好為人師, 虎頭蛇尾, 應對乏術, 你呀該干嘛干嘛去.   回復  更多評論
  
# re: 將 ATL 的一個頑固 Bug 修正了 2010-10-13 12:21 | iid
# re: 將 ATL 的一個頑固 Bug 修正了[未登錄] 2012-09-12 12:34 | kk
哈哈,這SB文章別誤導別人了。。。  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲高清av在线| 欧美成人免费视频| 欧美午夜精品理论片a级按摩| 精品动漫一区二区| 亚洲欧美中文另类| 欧美日韩国产欧| 午夜久久tv| 国产精品欧美风情| 亚洲视频一二三| 在线亚洲伦理| 国产精品日韩欧美一区二区三区| 亚洲视频一区在线观看| 一区二区三区高清不卡| 国产精品久久久一区二区三区| 午夜日韩在线| 亚洲日本激情| 欧美三级电影网| 亚洲欧美中日韩| 久久精品国产成人| 亚洲国产另类精品专区| 亚洲国产精品免费| 欧美四级伦理在线| 欧美在线视频全部完| 欧美在线观看日本一区| 欧美二区乱c少妇| 亚洲福利视频一区二区| 91久久国产综合久久蜜月精品| 欧美全黄视频| 99精品久久久| 亚洲一区国产| 亚洲国产精品成人久久综合一区| 亚洲欧洲在线观看| 国产欧美日韩三级| 欧美激情视频一区二区三区在线播放 | 欧美四级电影网站| 亚洲影音一区| 久久久精品国产99久久精品芒果| 亚洲精品久久久久久久久久久 | 国产亚洲精品成人av久久ww| 欧美国产日韩亚洲一区| 国产精品劲爆视频| 久久综合色播五月| 欧美日韩综合一区| 欧美国产日韩一区二区| 国产精品亚洲成人| 亚洲精品国产欧美| 在线成人免费视频| 亚洲国产精品999| 国产欧美亚洲精品| aa级大片欧美三级| 樱桃视频在线观看一区| 一区二区三区你懂的| 亚洲精品五月天| 久久久久看片| 久久福利毛片| 国产精品久久久久久超碰| 亚洲黄色在线观看| 亚洲国产精品久久久久秋霞影院| 亚洲一区二区久久| 亚洲欧美清纯在线制服| 欧美天天视频| 亚洲一级电影| 久久黄色级2电影| 国产亚洲aⅴaaaaaa毛片| 欧美一区永久视频免费观看| 久久九九免费视频| 激情一区二区三区| 久久久久久免费| 欧美不卡视频一区| 亚洲狼人综合| 国产精品成人一区| 欧美一区亚洲一区| 欧美激情成人在线| 一本色道久久综合狠狠躁篇的优点| 欧美激情精品久久久久久免费印度 | 欧美激情欧美狂野欧美精品| 亚洲人妖在线| 欧美色欧美亚洲另类七区| 亚洲一区二区三区视频| 久久久99爱| 亚洲精品国产精品乱码不99 | 久久久久九九视频| 亚洲国产欧美一区二区三区同亚洲 | 91久久国产综合久久蜜月精品 | 久久久夜夜夜| 亚洲免费av网站| 国产精品综合色区在线观看| 久久成人这里只有精品| 亚洲国内自拍| 欧美一区二区视频观看视频| 亚洲电影免费观看高清完整版在线观看 | 日韩亚洲欧美精品| 国产精品试看| 美女免费视频一区| 中文欧美字幕免费| 美女亚洲精品| 亚洲一区二区精品| 精品999在线观看| 免费精品99久久国产综合精品| 先锋影音一区二区三区| 国外成人在线视频| 欧美精品在线免费播放| 亚洲欧美另类在线观看| 免费视频久久| 亚洲午夜视频在线观看| 伊人久久综合97精品| 欧美午夜美女看片| 久久亚洲综合网| 亚洲免费在线观看视频| 亚洲激情视频在线观看| 久久精品国产免费看久久精品| 亚洲精品日本| 黄色资源网久久资源365| 欧美色另类天堂2015| 久久综合国产精品台湾中文娱乐网| 一区二区三区久久精品| 亚洲高清不卡在线| 久久久久久一区二区| 亚洲午夜视频在线观看| 久久国产精品高清| 国产精品99久久久久久人| 久久亚洲综合色| 亚洲视频导航| 亚洲精品少妇30p| 狠狠色综合一区二区| 国产精品日日摸夜夜摸av| 欧美母乳在线| 欧美黑人国产人伦爽爽爽| 久久久久久久网| 欧美在线观看一区| 亚洲欧美综合一区| 午夜亚洲精品| 欧美一级视频精品观看| 亚洲免费视频成人| 亚洲女爱视频在线| 亚洲欧美在线磁力| 亚欧成人在线| 欧美一区二区视频97| 性欧美1819性猛交| 欧美在线一级视频| 久久精品成人欧美大片古装| 夜色激情一区二区| 欧美大尺度在线| 亚洲大胆人体视频| 欧美国产日本韩| 亚洲国产成人精品久久| 亚洲第一狼人社区| 亚洲激情电影在线| 亚洲欧洲日产国产网站| 亚洲美女在线国产| 在线一区视频| 亚洲欧美乱综合| 久久av一区二区三区| 看欧美日韩国产| 欧美国产视频在线观看| 欧美三级网页| 国产日韩欧美综合一区| 国产一区在线免费观看| 亚洲国产美女精品久久久久∴| 亚洲区一区二| 亚洲欧美在线观看| 美女露胸一区二区三区| 亚洲高清在线观看一区| 99精品欧美| 欧美在线亚洲| 欧美国产综合视频| 国产区精品视频| 91久久精品久久国产性色也91| 一本大道久久a久久精品综合| 亚洲欧美国产高清va在线播| 久久色中文字幕| 亚洲人午夜精品| 午夜在线一区二区| 欧美激情视频一区二区三区免费| 国产精品美女久久久久久久| 在线不卡中文字幕| 亚洲免费婷婷| 亚洲国产精品久久久久秋霞不卡| 亚洲午夜久久久| 免费观看久久久4p| 国产亚洲成年网址在线观看| 日韩午夜激情| 鲁鲁狠狠狠7777一区二区| 一区二区三区日韩欧美| 老司机精品视频一区二区三区| 国产精品成人在线观看| 亚洲精品国产拍免费91在线| 欧美在线视频一区二区三区| 亚洲区在线播放| 久久亚洲一区| 黑人一区二区| 欧美一区亚洲| 99视频超级精品| 欧美成人精品在线视频| 国内精品伊人久久久久av一坑| 午夜精品福利电影| 亚洲精品在线三区| 免费亚洲视频| 亚洲高清123| 美女国产一区|