OnReceiveからCWinThreadクラスの関数を呼出す方法

[戻る]
butter 2006/03/21(火) 11:55:16
VC++.NET 2003
OS:Windows 2000

VC++初心者です。
CAsyncSocketクラスのOnReceiveからPostThreadMessageを使いCWinThreadクラスの関数を
呼出そうとしているのですが、エラーを起こして落ちてしまいます。
(CAsyncSocket::OnReceive(nErrorCode);で落ちてしまいます。)
そもそも、OnReceiveからCWinThreadクラスを呼ぶことはできないのでしょうか。
ちなみにOnAcceptからCWinThreadクラスを呼ぶことはできました。
どなたかご存知のかたがいらしたらご教授ください。
以下は記述例です。

// ACCEPT処理
void CAsyncXXX::OnAccept(int nErrorCode) 
{
 m_pXXXX->PostThreadMessage( ACCEPT_XXX, 0, 0 );

 CAsyncSocket::OnAccept(nErrorCode);
}


// 受信処理
void CAsyncXXX::OnReceive(int nErrorCode)
{
 m_pXXXX->PostThreadMessage(RCV_XXX, 0, 0 );

 CAsyncSocket::OnReceive(nErrorCode);
}

餅憬 2006/03/21(火) 13:31:25
>エラーを起こして落ちてしまいます。

原因を突き止める貴重な情報になるので
具体的にどのように落ちるのか(ダイアログ等が出るのならその内容も)
詳しく書いてください。

butter 2006/03/23(木) 01:00:55
[[解決]]
餅憬さん、レスありがとうございます。
自己解決しました。
以下の記述で"m_pXXXX"が不定だったようです。お騒がせしました。
m_pXXXX->PostThreadMessage(RCV_XXX, 0, 0 );

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