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);
}
>エラーを起こして落ちてしまいます。
原因を突き止める貴重な情報になるので
具体的にどのように落ちるのか(ダイアログ等が出るのならその内容も)
詳しく書いてください。
餅憬さん、レスありがとうございます。
自己解決しました。
以下の記述でm_pXXXXが不定だったようです。お騒がせしました。
m_pXXXX->PostThreadMessage(RCV_XXX, 0, 0 );