首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

编写串口通信程序时,显示error C2065: “WM_COMM_RXCHAR”: 未声明的标识符,该如何解决

2012-05-16 
编写串口通信程序时,显示error C2065: “WM_COMM_RXCHAR”: 未声明的标识符在SerialPortTestDlg.h中,对WM_CO

编写串口通信程序时,显示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) 
名字不一样!


[解决办法]

探讨
MSDN里没有WM_COMM_RXCHAR的信息

[解决办法]
查找 WM_COMM_RXCHAR 是在哪个头文件中定义的,包含进来。
没有的话要自己定义
如:#define WM_COMM_RXCHAR (WM_USER + 100)

热点排行