• <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>
            隨筆-145  評(píng)論-173  文章-70  trackbacks-0
            利用AfxBeginThread函數(shù)也可以實(shí)現(xiàn)創(chuàng)建一個(gè)線程,先貼上下面的代碼:
            UINT SubProcess(LPVOID param)
            {
                ::MessageBox((HWND)param,
            "線程啟動(dòng)","線程",MB_OK);
                
            return 0;
            }


            void CTest2Dlg::OnButton1() 
            {
                
            // TODO: Add your control notification handler code here
                HWND hWnd = GetSafeHwnd(); //獲得一個(gè)窗口的窗口句柄
                AfxBeginThread(SubProcess,hWnd); //創(chuàng)建一個(gè)新線程,返回值就是一個(gè)線程對(duì)象
            //    CDialog::OnOK();
            }


            void CTest2Dlg::OnButton2() 
            {
                
            // TODO: Add your control notification handler code here
                CDialog::OnCancel();
            }

            現(xiàn)在對(duì)于這個(gè)函數(shù),我沒(méi)有多大的疑問(wèn),在MSDN中有很詳細(xì)的解釋?zhuān)P(guān)鍵的問(wèn)題是:
            我開(kāi)始出錯(cuò)了:因?yàn)閷ubProcess設(shè)置為類(lèi)的成員函數(shù),顯示的錯(cuò)誤信息是:
            can't convert parameter 1 from unsigned int (void *);

            開(kāi)始我以為是本身函數(shù)的問(wèn)題,印象中,應(yīng)該是void *類(lèi)型才可以,現(xiàn)在這個(gè)線程函數(shù)是UINT(unsigned int類(lèi)型)
            不過(guò)后來(lái)查MSDN,發(fā)現(xiàn)僅僅只能夠是UINT類(lèi)型的返回值,規(guī)定死了。
            而且函數(shù)的原型是 UINT myThreadFun(LPVOID param)
            于是想到,放在類(lèi)中的成員函數(shù)和上面的原型是不同的,所以可能會(huì)引起錯(cuò)誤,于是去掉之后,聲明為一個(gè)單獨(dú)的函數(shù),OK。
            我的理解是:在同類(lèi),生成的就是一個(gè)對(duì)象,調(diào)用另外一個(gè)成員函數(shù),相當(dāng)于對(duì)本身的主線程操作,不安全。

            然而,通過(guò)驗(yàn)證我發(fā)現(xiàn),原因不是這個(gè),而是因?yàn)樵谄胀ǖ某蓡T函數(shù)中,隱藏有一個(gè)參數(shù)為this指針,所以,原型是不同的,要是必須聲明為類(lèi)的成員的話,可以聲明為static函數(shù),就沒(méi)有this指針,此時(shí),就不能訪問(wèn)實(shí)例成員,只能訪問(wèn)類(lèi)成員。要是想要訪問(wèn)實(shí)例成員怎么辦?聲明為友元,這樣,就可以毫無(wú)顧忌的訪問(wèn)類(lèi)的所有成員。
            至此,我們就解決了這個(gè)問(wèn)題。
            posted on 2010-02-09 11:39 deercoder 閱讀(2180) 評(píng)論(0)  編輯 收藏 引用
            香蕉久久一区二区不卡无毒影院 | 久久精品国产亚洲精品| 亚洲国产成人久久精品动漫| 国产成人香蕉久久久久| 久久91精品国产91久| 精品久久久无码人妻中文字幕豆芽| 狠狠色婷婷久久一区二区三区| 国产欧美久久久精品| 日本高清无卡码一区二区久久| 欧美黑人又粗又大久久久| 理论片午午伦夜理片久久 | 亚洲国产精品久久66| 久久91精品国产91| 成人精品一区二区久久| 久久精品欧美日韩精品| 一本色道久久88综合日韩精品| 久久精品国产只有精品2020| 亚洲国产精品成人久久| 日韩欧美亚洲综合久久影院Ds | 久久久久99精品成人片| 久久久久高潮毛片免费全部播放| 久久天天躁狠狠躁夜夜2020老熟妇 | 久久久黄片| 青青草原综合久久| 97久久精品国产精品青草| 蜜桃麻豆WWW久久囤产精品| 久久99精品久久久久久齐齐| www久久久天天com| 日韩精品久久久久久久电影蜜臀| 18禁黄久久久AAA片| 久久久久久国产精品无码下载| 狠狠色婷婷综合天天久久丁香 | 久久精品人人做人人爽97| 亚洲乱码精品久久久久..| 国产A三级久久精品| 一级女性全黄久久生活片免费 | 欧美久久综合性欧美| 精品久久久久久国产| 亚洲精品高清久久| 精品久久人人妻人人做精品| 久久亚洲国产精品123区|