MFC release发布后,在其他没有VC环境的机子上不能打开串口,
if(m_MSComm.GetPortOpen())//如果串口是打开的,则行关闭串口m_MSComm.SetPortOpen(FALSE);m_MSComm.SetCo...
if(m_MSComm.GetPortOpen()) //如果串口是打开的,则行关闭串口 m_MSComm.SetPortOpen(FALSE); m_MSComm.SetCommPort(1); //选择COM1 m_MSComm.SetInBufferSize(1024); //接收缓冲区 m_MSComm.SetOutBufferSize(1024); //发送缓冲区 m_MSComm.SetInputLen(0); //设置当前接收区数据长度为0,表示全部读取 m_MSComm.SetInputMode(1); //以二进制方式读写数据 m_MSComm.SetRThreshold(24); //接收缓冲区有1个及1个以上字符时,将引发接收数据的OnComm事件 m_MSComm.SetSettings("9600,n,8,1"); //波特率:9600,无检验位,8个数据位,1个停止位 if(!m_MSComm.GetPortOpen()) //如果串口没有打开则打开 { m_MSComm.SetPortOpen(TRUE); //打开串口 }else AfxMessageBox("打开串品失败!");在本机上调试和运行都是正确的,发布release后也是正确的,在没有vc的机子运行发布版本,会显示弹出对话框(打开串品失败!");串口没打开,请问怎么解决,是什么原因
展开
4个回答
展开全部
注意,将相应的MFC库一并拷贝到相应机器,譬如,一般在WINDOWS\SYSTEM32目录,进一步交流,进我空间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
确少MSComm控件,需要把库拷贝下,然后注册.
具体哪些库不太记得了,网上搜一下,应该会找到.
具体哪些库不太记得了,网上搜一下,应该会找到.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
缺少mscomm32.ocx控件,从网上下载然后找到system32目录下的regsvr32.exe。把控件往上面拖,然后就能注册成功。这个问题以前困惑了我好久的…
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
qianxun5180 ,说的对,你用控件的话,控件必须要注册,如果直接用win32 api 写串口程序,就可以不用注册,而直接使用了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询