我为了将有关串口操作封装起来,先从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)
?????急急急!
然后从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)
?????急急急!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货