http://www.360doc.com/content/17/1023/08/28222077_697333915.shtml

 

WIN7系统中Delphi中安装MSCOMM控件方法(保证有用)

2017-10-23  疯魔狂徒...  转自 Xiao_BaiCai
修改
 
微信分享:
 
    

1、找到下列三个文件(可以去搜索下载): 

  Mscomm.reg, Mscomm32.ocx,Mscomm32.dep  

  把这三个文件拷贝到Windows的system目录下(注意WinNT下是System32)。然后用Windows下的注册工具regsvr32注册该OCX控件,例如:

  2、“运行”中输入下面的命令,不要管最后返回什么提示。一般都会出错误提示的! 

  regsvr32 C:\Windows\system32\MSComm32.ocx 

 

 

win7下如何注册OCX控件

  (2012-02-13 14:18:29)
标签: 

杂谈

分类: 计算机知识点小记

    在注册控件是,直接cmd打开命令窗口,结果注册OCX控件出错了,错误代号:0x80040200.我想可能是UAC控制权限的问题,cmd需要以管理身份运行。

 

 

解决方案:

cmd

 

 

管理员

 

转到你要注册的控件,输入:regsvr32 xx.ocx即可。一切运行正常,不再报错误了。

3、“运行”中输入下面的命令:   regedt32 

      在注册表的在HKEY_CLASSES_ROOT\Licenses下建一主键: 

     4250E830-6AC2-11cf-8ADB-00AA00C00905,主键的值为

     Kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun

 

4、用管理员身份打开DELPHI(这个很重要!),剩下的工作是在Delphi中导入这个ActiveX控件,进入Delphi环境在Component菜单下选Import ActiveX Control,这时在列表中可以看到Microsoft Comm Control 6.0选项, 选中这个选项点击Install按钮,完成安装。在ActiveX控件页上可以看到一个电话为图标的控件,这就是MSComm控件。这样就可以象在VB中一样方便得使用MSComm控件了。


     控件下载地址:共享链接:http://163.fm/EwcLFLQ     提取码:YWC1qPcH
 
 

如果正常编译完成,则Ocx控件会被添加到Delphi IDE 控件栏的ActiveX页面。

 

1.      卸载OCX控件

点击菜单项:Component -> Import ActiveX Control…

界面同第1步,此略。 www.2cto.com

选中需要移除的OCX控件后,点击按钮“Remove”,系统会弹出确认对话框,点击“Yes”后,即可以移除该OCX在系统中的注册信息,理论上,将该控件拖放到窗体中会出现异常信息。

但是在用户的自定义控件包中尚存留文件,需要在空白的Delphi环境中打开自定义控件包文件,该文件通常在如下路径可以找到:

c:\borland\delphi6\LIB\dclusr.dpk

打开该文件后,会弹出如下界面:

 

在上述界面中,选中需要移除的文件(可能不止一个)并点击按钮“Remove”。

然后点击按钮“Compile”对该控件包重新编译。

如果编译正常的话,会提示该控件已经移除,且会从Delphi IDE控件栏的ActiveX页面中消失。


 

          TMSComm控件的主要属性及事件

  

MSComm控件有27个属性,其中一部分可缺省设置为不用,常用的属性如下:

(1) CommPort:设置串行口选择。缺省值为1,选择为COM1;若赋值为2,则选择COM2。

(2) PortOpen:设置通信端的状态。设置为True时,打开端口;设置为False时,关闭端口并清除接受和发送缓冲区。

(3) Settings:设置通信时的波特率、奇偶校验、停止位参数。

(4) Inputlen:设置每次从接受缓冲区读却的字符个数。缺省值为0,表示将读取接受缓冲区中全部内容;若设置值为n,表示每次将读取接受缓冲区中的n个字符。

(5) InputMode:设置接收数据的类型。

(6) InBufferCount:设置返回接受缓冲区中等待被读取的字符个数。初始化程序时,InBufferCount设置值为0,表示清除接受缓冲区。

(7) OutBufferCount:设置返回发送缓冲区中等待发送的字符个数。设置值为0时,表示清除发送缓冲区。

(8) InBufferSize:设置接受缓冲区中的长度,缺省值为1024字节。

(9) OutBufferSize:设置发送缓冲区中的长度,缺省值为512字节。

(10) Rthreshold:设置表示在触发OnComm事件之前接收缓冲区允许有的字符数。缺省值为0,表示即使接收缓冲区有字符时,也不会触发OnComm事件;设置值为n时,表示接收缓冲区每有n个字符时,就会触发一次OnComm事件。

(11) Sthreshold:设置表示在触发OnComm事件之前发送缓冲区允许有的字符数。缺省值为0,表示不触发OnComm事件;设置值为n时,表示发送缓冲区每有n个字符时,就会触发一次OnComm事件。

(12) DTREnable:设置DTR的有效性。

(13) RTSEnable:设置RTS的有效性。

(14) Input:从串口读取数据。

(15) Output:向串口写入数据。

  如果在通信过程中发生错误或事件,就会触发OnComm事件,并由CommEvent属性代码反映错误类型,在通信程序的设计中可根据该属性值来执行不同的操作。CommEvent属性值及其含义如下:

  (1)ComEvSend:值为1,发送缓冲区的内容少于SThreshold指定的值。

  (2)ComEvReceive:值为2,接收缓冲区内字符数达到RThreshold指定的值。

  (3)ComEvFrame:值为1004,硬件检测到帧错误。

  (4)ComEvRxOver:值为1008,接收缓冲区溢出。

  (5)ComEvTxFull:值为1010,发送缓冲区溢出。

  (6)ComEvRxParity:值为1009,奇偶校验错误。

7)ComEvEOF:值为7,接收数据中出现文件尾(ASCII码为26)字符