读书人

作用域的有关问题好郁闷

发布时间: 2012-02-20 21:18:24 作者: rapoo

作用域的问题,好郁闷?
class CPowerUpdateDlg : public CDialog
{
private:
CString m_strRecvData;// (我在下面初始化为空)
}

void OnCommunication( WPARAM ch, LPARAM port );

void CPowerUpdateDlg::OnCommunication(WPARAM ch, LPARAM port)
{
m_strRecvData = "da jia ok? ";
}

BEGIN_MESSAGE_MAP(CPowerUpdateDlg, CDialog)
//{{AFX_MSG_MAP(CPowerUpdateDlg)
ON_MESSAGE(WM_COMM_RXCHAR, OnCommunication)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

这是CSerialPort类中读取字节的常用用法,每收到一个字节触发WM_COMM_RXCHAR事件,及触发OnCommunication函数。

我在这个函数里假设对成员变量m_strRecvData赋了初值,MessageBox也能正确显示出它的值为 "da jia ok? "。但是我在这个函数之外用m_strRecvData这个成员变量时它就为空值。

不只是什么原因,感觉好像作用域的问题,又不太像。好郁闷。

请教一下
谢谢!!


[解决办法]
你这个函数还没执行完,当然不会去响应新消息的。
消息驱动这个体系原理你还很混呀。

读书人网 >C++

热点推荐