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

在工作線程中更新UI保險(xiǎn)方法

一直以來,對(duì)在工作線程中更新UI這個(gè)問題沒有一個(gè)全面的認(rèn)識(shí),看到下面的文章,總算解決了心中長久以來的疑惑;豁然開朗。

個(gè)人比較喜歡第一種方法。

 

http://www.itepub.net/html/kaifajingcui/C___VC/2006/0515/38137.html

 

    最近寫了個(gè)代碼,在UI線程中創(chuàng)建了一個(gè)窗口,然后在工作線程中修改了這個(gè)窗口中的一些數(shù)據(jù),然后想用UpdateData(FALSE)來更新窗口的內(nèi)容,結(jié)果在Debug版本下面就出現(xiàn)了Assert報(bào)錯(cuò),說出錯(cuò)地方是wincore.cpp的888行和889行,就是這兩句
  ASSERT((p = pMap->LookupPermanent(m_hWnd)) != NULL ||
   (p = pMap->LookupTemporary(m_hWnd)) != NULL);
  ASSERT((CWnd*)p == this);   // must be us
    我用MFC也沒有多久,也不太熟悉,翻了翻資料,在http://support.microsoft.com/default.aspx?scid=kb;en-us;147578找到一篇文章,就是說MFC窗口跨線程的問題的,大概意思就是MFC的窗口是線程相關(guān)的,每個(gè)窗口的HandleMap是儲(chǔ)存在線程相關(guān)的堆棧里面的 (thread-local-storage (TLS) ),那這樣我就理解了為什么上面兩句ASSERT會(huì)出錯(cuò)了,線程環(huán)境都切換了當(dāng)然線程堆棧的數(shù)據(jù)也就不一樣了.
    這篇文章提供了兩種修改方案:
   一種是用FromHandle來獲得一個(gè)CWnd*,然后再調(diào)用UpdateData,這個(gè)方案我沒有實(shí)驗(yàn)成功,結(jié)果是錯(cuò)雖然不報(bào)了,但是界面也沒有被更新.
    另外一種是通過發(fā)消息的方法轉(zhuǎn)到UI線程去處理.可以在窗口映射一個(gè)消息,比如ON_MESSAGE(WM_UPDATEDATA, OnUpdateData),然后用SendMessage(WM_UPDATEDATA, FALSE)傳消息給窗口,窗口的消息處理肯定是在UI線程里面,這時(shí)候可以用
LRESULT CProtectPage::OnUpdateData(WPARAM wParam, LPARAM lParam)
{
UpdateData(wParam);
return 0;
}
來更新界面,實(shí)驗(yàn)是成功的,ASSERT就被消除了.
    還是有點(diǎn)疑惑,就是剛開始直接在工作線程中調(diào)用UpdateData(FALSE)的時(shí)候,雖然有ASSERT報(bào)錯(cuò),但是結(jié)果還是正確的,似乎沒有什么影響,不知道這個(gè)ASSERT到底意味著什么?

posted on 2008-09-04 18:14 FongLuo 閱讀(1495) 評(píng)論(1)  編輯 收藏 引用

評(píng)論

# re: 在工作線程中更新UI保險(xiǎn)方法 2010-05-04 19:14 nobody

謝謝分享~~學(xué)習(xí)了,正遇到這個(gè)問題呢  回復(fù)  更多評(píng)論   


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2008年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

導(dǎo)航

常用鏈接

留言簿

隨筆分類(11)

隨筆檔案(79)

文章檔案(1)

收藏夾(38)

學(xué)習(xí)網(wǎng)站

一般網(wǎng)站

最新隨筆

搜索

積分與排名

最新評(píng)論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产欧美精品在线播放| 欲香欲色天天天综合和网| 一区二区三区日韩欧美| 亚洲精选一区二区| 欧美日韩亚洲一区二| 亚洲欧美精品伊人久久| 亚洲一区二区欧美| 国产一区二区在线观看免费播放| 欧美一区二区三区在线观看视频 | 欧美综合国产| 久久成人国产精品| 亚洲日本va午夜在线电影| 亚洲美女毛片| 国产欧美不卡| 亚洲第一搞黄网站| 欧美日韩在线影院| 久久久成人网| 免费久久精品视频| 亚洲欧美日韩国产中文| 久久久99久久精品女同性| 日韩视频不卡中文| 欧美尤物一区| 一区二区精品国产| 久久国产成人| 一区二区日韩欧美| 久久精品国产成人| 中文一区二区在线观看| 久久成人免费日本黄色| 99天天综合性| 久久久久国色av免费看影院| 一区二区成人精品 | 午夜久久久久久| 日韩视频在线一区| 久久精品国产欧美激情| 亚洲深夜影院| 美国成人直播| 久久久无码精品亚洲日韩按摩| 欧美精品18+| 免费精品99久久国产综合精品| 欧美天天视频| 亚洲国产一区二区视频| 国内精品久久久久影院优| 日韩亚洲一区在线播放| 在线日韩中文| 欧美影院视频| 午夜日本精品| 欧美亚洲成人精品| 亚洲日韩欧美视频| 亚洲电影在线看| 欧美亚洲专区| 欧美亚洲网站| 国产精品久久久久一区| 亚洲精品一区二区在线观看| 最新亚洲激情| 美女国产精品| 免费在线成人av| 精久久久久久| 久久久91精品国产| 久久漫画官网| 激情综合视频| 久久久国产精彩视频美女艺术照福利| 午夜伦欧美伦电影理论片| 欧美体内she精视频| 99国产精品自拍| 正在播放亚洲一区| 欧美日韩在线视频观看| 一区二区三区回区在观看免费视频| 亚洲肉体裸体xxxx137| 欧美大片一区二区| 亚洲黄色av一区| 亚洲美女av黄| 欧美日韩综合另类| 亚洲一区二区视频在线观看| 午夜电影亚洲| 国产综合激情| 久久躁狠狠躁夜夜爽| 亚洲成人在线视频播放 | 91久久精品网| 一区二区欧美日韩| 欧美视频免费| 亚洲在线1234| 久久综合九色99| 91久久国产自产拍夜夜嗨| 欧美激情精品| 一区二区三区久久网| 欧美尤物一区| 亚洲国产裸拍裸体视频在线观看乱了中文| 久久久久久久综合日本| 亚洲国产成人精品久久久国产成人一区| 亚洲黄色在线视频| 欧美日韩在线免费| 欧美一级专区| 91久久香蕉国产日韩欧美9色| 在线视频一区二区| 国产亚洲福利| 欧美高清视频一区二区三区在线观看 | 国产精品久久久久久久久借妻| 亚洲一区二区三区午夜| 美女视频一区免费观看| 日韩性生活视频| 国产日韩精品视频一区二区三区| 久久久久久综合| 一区二区久久久久| 免费成人在线观看视频| 亚洲午夜羞羞片| 在线不卡免费欧美| 国产精品99免费看| 美女黄毛**国产精品啪啪| 一本久久青青| 亚洲电影观看| 久久精品二区| 亚洲一区3d动漫同人无遮挡| 一区二区三区在线免费观看 | 久久gogo国模啪啪人体图| 欧美成人综合| 久久精品女人| 亚洲一级黄色av| 亚洲人成7777| 国产一区久久久| 国产精品久久久久免费a∨| 美女成人午夜| 久久精品在线观看| 亚洲一级二级| 亚洲美女av黄| 91久久夜色精品国产九色| 久久美女性网| 久久aⅴ乱码一区二区三区| 亚洲午夜一区二区三区| 日韩视频永久免费| 在线播放日韩专区| 国产主播在线一区| 欧美视频久久| 欧美日韩直播| 欧美日韩在线一区二区| 欧美第一黄色网| 免费观看一级特黄欧美大片| 久久九九热免费视频| 欧美一区二区三区视频免费| 亚洲免费网址| 亚洲综合欧美日韩| 亚洲女人天堂av| 亚洲欧美一区在线| 亚洲欧美日韩一区二区| 亚洲自拍都市欧美小说| 亚洲一区视频| 午夜精品成人在线| 欧美在线观看你懂的| 久久精品免费| 开心色5月久久精品| 久久久天天操| 免费高清在线视频一区·| 久久一综合视频| 久热爱精品视频线路一| 老司机免费视频久久| 欧美国产欧美亚洲国产日韩mv天天看完整 | 国内精品伊人久久久久av影院| 国产一区二区三区日韩欧美| 狠狠久久综合婷婷不卡| 伊人久久大香线蕉综合热线 | 欧美视频成人| 国产精品日本一区二区| 国产日韩精品一区二区| 国产一区二区三区久久精品| …久久精品99久久香蕉国产| 亚洲精品国久久99热| 在线综合亚洲| 久久精品国产2020观看福利| 毛片一区二区| 亚洲国产经典视频| 日韩系列在线| 亚洲欧美影音先锋| 久久综合狠狠综合久久综合88 | 亚洲欧美日韩一区二区三区在线观看| 午夜综合激情| 欧美高清视频一区二区三区在线观看| 欧美日韩精品综合| 国产一区自拍视频| 999亚洲国产精| 欧美专区第一页| 亚洲国产美女| 亚洲欧美在线免费| 欧美成人午夜激情在线| 国产精品区二区三区日本| 亚洲二区视频在线| 午夜久久影院| 亚洲人成7777| 久久精品综合| 国产精品拍天天在线| 亚洲日本免费| 久久久久亚洲综合| 一区二区激情视频| 男人的天堂成人在线| 国产亚洲一区在线播放| 亚洲视频在线观看网站| 欧美a级大片| 欧美尤物巨大精品爽| 国产精品白丝av嫩草影院| 亚洲激情一区二区三区| 久久久综合免费视频| 亚洲自拍偷拍福利|