祝!

  • このエントリーをはてなブックマークに追加

id:pikkaruの第一子誕生。とid:its-tomから連絡がくる。連絡網が充実。
多分、ここに書けば研究室関連の方がにも連絡がいくでしょう。
本当におめでとう!

(Visited 1 times, 1 visits today)
  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*

VisualC++のワーカースレッドからメンバ変数へアクセスする方法

  • このエントリーをはてなブックマークに追加

web上にもあちこちで掲載されてはいますが…。

ダイアログアプリケーションとかでワーカースレッドを走らせて*1スレッド内でダイアログ内の部品を更新させる処理を行う場合。
ワーカースレッドを呼び出す際に次の様に書く。

AfxBeginThread(ThreadPrcs, this);

これで、呼ばれるThreadPrcs関数はおそらく次の様な形になる。
例えば、ダイアログがCFooDlgというクラスで定義されていた場合、

UINT ThreadPrcs(LPVOID p)
{
CFooDlg* pDlg = (CFooDlg*)(p);
CString strTxt;
for(int count=0; count<100; count++){
Sleep(3000);                               // ものすごく重い処理。
strTxt.Format("%d回目の重い処理", count);
pDlg->m_strMessage = strTxt;
}
}

これでメンバ変数にアクセスでき、変数を更新することが出来る。

*1:そもそも、コレが余り好ましくない実装方法なのかもしれないが

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*

  • このエントリーをはてなブックマークに追加

左にVisualC++, 右にISEとvim。中身はVHDL
左は順次、右は並列。
そして、VHDLの書き方を忘れていた。

s_signal(4 downto 1) <= (others => '0');

なんか、ますますジェネラル具合が激しすぎて少し嫌な感じ。

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*

藤井隆。

  • このエントリーをはてなブックマークに追加

ひたすら踊っている番組をやっていた。
TRFのOvernight Sensationを普通に一緒に踊っていた。さすがだ。

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*