大致想法如下
自建了一个modal窗体并在该窗体中自定义了一条消息,在CAcceptSocket中,定义了一个modal窗体变量,在soket接收到数据后向该窗体发送一条消息:
CAcceptSocket与CListenSocket都继承自CSocket
具体如下:
CAcceptSocket.h文件中定义
HWnd m_hNetData;
通过构造函数 CAcceptSocket(HWND hOutput);将modal窗体变量引入.
在函数OnReceive(int nErrorCode)中发送消息
::PostMessage(m_hNetData,WM_RECVNETDATAMSG,xxx,xxx);
在文件CListenSocket.cpp中的函数OnAccept中使用了
CAcceptSocket *pSocket = new CAcceptSocket(m_hOutputWnd);
其中m_hOutputWnd也是通过构造函数引入的modal窗体变量,该变量与m_hNetData含义相同
在窗体文件CDlg中使用this->GetSafeHWnd()将参数传入;
m_pListenSocket = new CListenSocket(this->GetSafeHwnd());
但是运行后异常,不知何故?
自建了一个modal窗体并在该窗体中自定义了一条消息,在CAcceptSocket中,定义了一个modal窗体变量,在soket接收到数据后向该窗体发送一条消息:
CAcceptSocket与CListenSocket都继承自CSocket
具体如下:
CAcceptSocket.h文件中定义
HWnd m_hNetData;
通过构造函数 CAcceptSocket(HWND hOutput);将modal窗体变量引入.
在函数OnReceive(int nErrorCode)中发送消息
::PostMessage(m_hNetData,WM_RECVNETDATAMSG,xxx,xxx);
在文件CListenSocket.cpp中的函数OnAccept中使用了
CAcceptSocket *pSocket = new CAcceptSocket(m_hOutputWnd);
其中m_hOutputWnd也是通过构造函数引入的modal窗体变量,该变量与m_hNetData含义相同
在窗体文件CDlg中使用this->GetSafeHWnd()将参数传入;
m_pListenSocket = new CListenSocket(this->GetSafeHwnd());
但是运行后异常,不知何故?
中的xxx是什么???如果是变量的话有可能是接受消息的时候xxx已经不存在了。