掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
スレッド処理について (ID:58629)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>m_pThread_Main->m_bAutoDeleteは変更していないので >TRUEのままですが、どのような場合にFALSEにする必要があるのでしょうか? 勝手に delete されては困るとき。 たとえば、AfxBeginThread の第1引数に CWinThread 派生のオブジェクトを 渡した場合、スレッドが終了した後に、そのオブジェクトが保持している データを参照したいときなど。 フォレスタさんのソースで言えば、PostNcDestroy に来たときには すでに delete されているかもしれず、オブジェクトを参照できない。 m_bAutoDelete = FALSE; にする場合は、エートリーぶさんが指摘しているように、 AfxBeginThread の dwCreateFlags に CREATE_SUSPENDED を指定する必要があります。 m_pThread_Main = AfxBeginThread(..., CREATE_SUSPEND, ...); m_pThread_Main->m_bAutoDelete = FALSE; m_pThread_Main->ResumeThread(); そうしないと、 m_pThread_Main->m_bAutoDelete = FALSE; に来たときにはもうスレッドが終了しているかもしれないからです。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.