掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
スレッド処理について (ID:58620)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
プログラムを作った時点で、まず1つのスレッドが生じます。これをメイン スレッドといいます。( 多分この言い方は一般的 ) ですから、ダイアログはメインスレッドに存在しています。 AfxBeginThread()関数により作成された物をとりあえずサブスレッドという 事にしてください。 PostMessageはメッセージを送るだけで、そのメッセージハンドラの実行は 受け取った側(メインスレッド)で実行されます。 それに対し、 ((Cread_pv_result*)pParam)->Main(); ((Cread_pv_result*)pParam)->EndDialog(); のような関数の呼び出しは、呼び出した側(サブスレッド)で実行されます。 これを踏まえて、もう一度上の書き込みを参考にしてください。 >「サブスレッドからダイアログの関数呼び出すのもなんだかなあ。」 これは、 ((Cread_pv_result*)pParam)->Main(); このやり方をさしています。 スレッドは、メモリ空間は同じですが、別のプログラムという風に考えてください。 "別プログラム(サブスレッド)の処理内容が、大元のプログラム(メインスレッド)に あるダイアログのメンバ関数を実行するだけ。"というのがなんか違うような気が して書きました。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.