掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MFCでダイアログベースプログラムのマルチスレッド化 (ID:151697)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
開発環境は、 OS:Windows10 IDE:Visual C++ 2022 MFCでダイアログベースプログラムを作成しています。 ソケット通信を利用して音声認識プログラムを作成しているのですが、サーバからの受信を無限ループで行っています。 ただ、無限ループの弊害でツールチップの表示が出来ないようになってしまいました。 そこで、無限ループの関数を別のスレッドで動かそうと以下のプログラムを書きました。 void Crecv3Dlg::OnClickedButton1() { hThread = (HANDLE)_beginthreadex(NULL, 0, &Func, &DoEvents, 0, &threadID); } すると、エラーになりました。 error C2276: '&': 仮想関数のアドレスを取ろうとしました。 調べると、staticを使うといいことがわかりました。 そこで、無限ループの関数とその中で使っている変数をstaticにしました。 しかし、まだエラーが残っています。 error C2352: 'CWnd::UpdateData': 非静的メンバー関数の呼び出しにはオブジェクトが必要です UpdateDataなど、Visual C++でよく使う関数をstaticにする方法はありますか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.