编写串口通信程序时,显示error C2065: “WM_COMM_RXCHAR”: 未声明的标识符
在SerialPortTestDlg.h中,对WM_COMM_RXCHAR响应函数进行声明:
// Generated message map functions
//{{AFX_MSG(CDebugDlg)
afx_msg LONG OnComm(WPARAM ch,LPARAM port);
//}}AFX_MSG
在CSerialPortTestDlg.cpp中,对WM_COMM_RXCHAR进行消息映射:
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
ON_MESSAGE(WM_COMM_RXCHAR,OnComm)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
并在CSerialPortTestDlg.cpp中,加入函数
LONG CDebugDlg::OnCommunication(WPARAM ch,LPARAM port)
{
m_strEditReceiveMsg+=ch;
UpdateData(FALSE);
return 0;
}
我是根据上面文章做的,好像别人都编译通过了,但是我就出现如题的问题了。。。
按理说CSerialPort应该提供WM_COMM_RXCHAR的定义呀,为什么我这个没有??
是不是我少装了什么?
我用的是vs2005的c++
[解决办法]
应该是没有包含相应的头文件;
查找 WM_COMM_RXCHAR 是在哪个头文件中定义的。
[解决办法]
在.h中是OnComm(WPARAM ch,LPARAM port);
而.cpp中是OnCommunication(WPARAM ch,LPARAM port)
名字不一样!
[解决办法]
[解决办法]
查找 WM_COMM_RXCHAR 是在哪个头文件中定义的,包含进来。
没有的话要自己定义
如:#define WM_COMM_RXCHAR (WM_USER + 100)