スレッドからの関数呼び出し

[戻る]
BOB 2002/06/18(火) 11:09:31
VC++6(SP5),WindowsNT,MFC,SDIで製作しているのですが、
ビュークラスからスレッドを呼び出し、スレッド内で関数を呼んだときに、
ビュークラスのコントロールのポインタが拾えません。
スレッドから呼び出した関数はビュークラス側に記述されています。

以下の文が呼び出した関数内に書かれているのですが、pGridが拾えません。
CMSFlexGrid* pGrid = ( CMSFlexGrid* )GetDlgItem( IDC_GRID_ID );

ご教授願います。

dairygoods 2002/06/18(火) 11:42:11
MFCはスレッド単位でMFCオブジェクトを管理していますので、
別スレッドからMFCオブジェクトのポインタを取得することはできません。

MSDNの「マルチスレッド : プログラミングのヒント」あたりに
詳細が記載されています。

BOB 2002/06/18(火) 13:24:15
[[解決]]
なるほど。。。
ありがとうございました。
メッセージをとばして、ビュークラス側で処理するようにしてみます。

古いスレッドには追加発言できません。