掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
スレッドからのメッセージについて。 (ID:56806)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 今回ワーカースレッドにDlgのポインタを渡して、「SendMessage(*objDlg, > WM_TESTMSG, 0, 0)」としました。仮に*objDlgと取ってしまうと、 > 不正な・・・のエラーが出ます。 それって、 SendMessage(*objDlg, WM_TESTMSG, 0, 0) は動作したが、 SendMessage(WM_TESTMSG, 0, 0) が不正な・・・になったってこと? CTestSockがウィンドウクラスであるがウィンドウは作っていないっていうのなら起きる気がする。 これは、CTestSockのウィンドウへメッセージを送ろうとしてCTestSockのウィンドウが存在しないのだから。 CTestSockがウィンドウクラスでないなら::SendMessageと言うことになるので、引数が違うからコンパイルエラーでそもそも実行できないから不正な・・・にならんよね。 CWindow::SendMessageは、CWindowのメンバ関数からしか使えない。 その(自分)CWindowオブジェクト(インスタンス)のメンバのm_hWndを使います。 だから指定不要。 別のオブジェクトのCWindow::SendMessageを使いたいなら、 objDlg->SendMessage(messsage,lparam,wparam); です。さてはオブジェクト指向に慣れてないな。 または::SendMessageを使うなら ::SendMessage(objDlg->m_hWnd,messsage,lparam,wparam); です。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.