VC中基于文档(SDI/MDI)程序中能直接用串口MSComm通讯控件吗?

原创 2002年07月16日 14:36:00

 

headline1.gif

VC中基于文档(SDI/MDI)程序中能直接用串口MSComm通讯控件吗?

◆龚建伟技术主页◆ 龚建伟 熊光明

headline1.gif

 


     读了我写的串口调试助手源程序(MScomm控件)及详细编程过程,有不少网友问到在VC中基于文档(SDI/MDI)程序中能不能直接用MSComm通讯控件。答案是NO!

      MScomm控件(几乎是所有的控件)都必须有一个可以寄身的对话框。必须从工具栏中把控件图标拖入对话框中,如图所示。

scomm01.jpg


对话框工具栏上的图标是不能拖到视(VIEW)中去的,它的寄生所在就是对话框,因此MSComm是离不开对话框的。也有人说过变通的方法,如做一个隐藏的对话框,即不让对话框显示,只用oncomm串口事件处理函数,除非经过特殊处理,否则是行不通的。下面是一位网友的出错经历:

   我做了个串口通信的程序(SDI),在工程中插入ms communications control,version 6.0,但用其方法时出现assert failure,用debug,问题好像是m_pCtrlSite=FALSE,我是在CMyView中加入public:CMSComm m_ComPort,再在消息映射中initialising com,但一调用方法,就出错。

   那么,如何在SDI/MDI中应用串口通讯呢?

   一种方法自己用API或者用一些较为成熟的类如CSerialPort类等。

    如果执意要用MSComm通讯控件,则必须在VIEW中的oncreate()函数中加上一些特殊的处理,将对话框程序中的自动初始化控件自已来做一个初始化,具体程序我将尽快放在我的主页上。 

   还有,应该注意的是:如果一个视类派生自CFormViewo类,它还是可以用那个控件的,因为这个类具有许多无模式对话框的特点。另外还有一个类,数据库中CRecordView类也依赖于特定的对话框模板资源,是基于MDI的,也可以用MSCOMM控件。详细说明请参阅:VC中ODBC数据库技术应用源程序详解之二


◆龚建伟技术主页◆

串口通迅(编程源码)、串口调试助手、端口网络通信技术,VC/C编程,移动机器人控制相关技术,Matlab仿真及数据处理  


 

VC中基于文档(SDI/MDI)程序中能直接用MSComm通讯控件吗

读了我写的串口调试助手源程序(MScomm控件)及详细编程过程,有不少网友问到在VC中基于文档(SDI/MDI)程序中能不能直接用MSComm通讯控件。答案是NO!       MScomm控件(几...
  • CircleSquare
  • CircleSquare
  • 2012年02月14日 20:38
  • 1194

VC控件MSComm编写串口通信程序

在众多网友的支持下,串口调试助手从2001年5月21日发布至今,短短一个月,在全国各地累计下载量近5000人次,在近200多个电子邮件中,20多人提供了使用测试意见,更有50多位朋友提出要串口调试助手...
  • liangzhao_jay
  • liangzhao_jay
  • 2015年05月11日 18:56
  • 3144

在WIN7系统VS2010中使用MSComm控件编写串口程序详解

串口程序在仪器研发中被广泛使用,常用的上位机串口程序编写有三种方法:一、采用MSComm控件,这种方法简单,但不适用于太复杂的系统;二、用Windows API函数实现串口通信,这种方法应用广泛但比较...
  • fuxilu
  • fuxilu
  • 2012年06月30日 09:00
  • 9405

关于VC串口控件MSComm响应中断函数次数不定的问题

设置函数:  m_ComPort.SetRThreshold(1);//接收缓冲区有大于等于1个字符时,将引发接收数据的OnCommMscomm事件 此函数并不是说串口来一个数据就会进中断处理...
  • hannibaychty
  • hannibaychty
  • 2015年04月10日 19:00
  • 1118

MFC单文档之基于MSCOMM的多个编辑框的串口通讯

VS2013取消了MSCOMM串口控件,如果还想用该控件写串口程序,就得自己添加写基于MFC的程序1.在VS2013下编写基于MSCOMM的MFC串口通讯程序直接参考百度经验,里面有非常明确的讲解如何...
  • menshu1892
  • menshu1892
  • 2017年04月10日 12:48
  • 522

完美的运用MSComm控件开发串口调试助手

作为一个MFC编程的菜鸟,以下内容着重在于自己对MScomm控件的使用流程梳理,以此以便自己忘了时有据可查,由于时间关系,未曾过多考虑代码布局,所以代码略显粗糙,忘各位海涵,若能理解使用即可。 ...
  • hkwlg1314
  • hkwlg1314
  • 2015年09月06日 21:11
  • 1539

VS2015中配置MSComm通讯控件和注意事项

1.MSCommon通讯控件前文回顾 MSComm 作为一个串行通讯控件。在为程序员串口通讯编程节省了很多时间,基于对话框的应用中加入一个MSComm控件非常简单。 MSComm控件提供了两种处...
  • shenziheng1
  • shenziheng1
  • 2016年10月20日 17:05
  • 5461

VS2008高版本VC使用微软串口控件mscomm小结

在VS2008中使用mscomm的文章有很多,这里把关键的几处小结一下: 1. 最好安装一遍VC++6.0,因为mscomm控件在VC6中是自带的。装好了VC6,在VS2008中就可以直接使用msco...
  • dijkstar
  • dijkstar
  • 2016年05月07日 17:41
  • 3281

DELPHI中用MSCOMM实现串口通信

//发送数据procedure senddata(astr:string);  var k:integer;      p:pchar;      achr:array of char;begin  ...
  • aaronlao
  • aaronlao
  • 2006年03月16日 16:11
  • 944

VC++ 使用MSComm控件检测串口是否存在的方法

VC++程序在初始化的时候,自动检测系统的串口是否存在或者被占用,可以使用如下的方法。...
  • Antares_SANTALEN
  • Antares_SANTALEN
  • 2016年09月12日 09:26
  • 1299
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VC中基于文档(SDI/MDI)程序中能直接用串口MSComm通讯控件吗?
举报原因:
原因补充:

(最多只允许输入30个字)