#include “mscomm.h"
DWORD style=WS_VISIBLE|WS_CHILD;  
if(!m_ComPort.Create(NULL,style,CRect(0,0,0,0),this,ID_COMMCTRL)){ 
TRACE0("Failed to create OLE Communications Control\n"); 
return -1;
}
编译报错说ID_COMMCTRL没有声明
error C2065: 'ID_COMMCTRL' : undeclared identifier
请问怎么解决这个问题?

解决方案 »

  1.   

    //用到了Activex控件:VC++ 6.0提供的MSComm控件
    #include “mscomm.h"
    DWORD style=WS_VISIBLE|WS_CHILD;  
    if(!m_ComPort.Create(NULL,style,CRect(0,0,0,0),this,ID_COMMCTRL)){ 
    TRACE0("Failed to create OLE Communications Control\n"); 
    return -1;
    }
    编译报错说ID_COMMCTRL没有声明
    error C2065: 'ID_COMMCTRL' : undeclared identifier
    请问怎么解决这个问题?
      

  2.   

    打开你的 resource.h在里面加入对你的 ID 的说明
      

  3.   

    但是这个变量的值是多少我也不清楚亚,MSDN里也没查到它,我开始以为
    在mscomm.h(就是MSComm控件)里定义了,于是include了该头文件,发现也不行。
      

  4.   

    我给resource.h中为ID_COMMCTRL定义了2000(没有其它值重复)
    但连接时报错了:
    MainFrm.obj : error LNK2001: unresolved external symbol "protected: virtual struct AFX_EVENTSINKMAP const * __thiscall CMainFrame::GetEventSinkMap(void)const " (?GetEventSinkMap@CMainFrame@@MBEPBUAFX_EVENTSINKMAP@@XZ)
    怎么办?
      

  5.   

    控件可能没有正确填加
    再看看#include “mscomm.h"加在什么地方的
      

  6.   

    你没有包括应用的头文件,比如,你建一应用TestDemo,
      你要包括TestDemo.h 文件即可
      

  7.   

    解决了,果然是有个文件没有加”mscomm.h“!csdn上的人真好!!我喜欢你们:)