我为了将有关串口操作封装起来,先从CWND派生一个类:CCOMMANAGER:public ::CWnd,
然后从VC的IDE中加入MSCOMM ACTIVEX控件到我的工程中,然后在CCOMMANAGER 类中加入
一个私有成员:
class CCOMMANAGER :public CWnd
{
          private :
              CMSCOMM m_ctrlCom;
以及初始化函数:
          public:
              Init(CWnd*pParentWnd);        //外面调用
}implementation:
       Init(CWnd*pParentWnd)
       {
         if(!Create(NULL,NULL,CRect(0,0,0,0),WS_CHILD,pParentWnd,WND_ID))//初始  化CMSCOMM 的父窗口;
            CHEK_ERROR;
         
        if(!m_CtrlCom.Create(NULL,NULL,CRect(0,0,0,0),SW_CHILD,this,0))
         CHEK_ERROR;
       }奇怪的是在vc6的环境重整个类使用完全正常,(包括初始化和其他一些对串口的读写)
但在程序要打包的时候安装在没有VC的机器上时却在创建串口的时候出错(即m_CtrlCom.create()返回0),注:activex 控件MSCOMM 已经注册,安装程序用INSTALL sheild 做的。平台是win2000)
?????急急急!