在Delphi中用SPCOMM实现串口编程.doc_第1页
在Delphi中用SPCOMM实现串口编程.doc_第2页
在Delphi中用SPCOMM实现串口编程.doc_第3页
在Delphi中用SPCOMM实现串口编程.doc_第4页
在Delphi中用SPCOMM实现串口编程.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

先把那个comm32复制到你安装DELPHI的目录下,然后打开delphi,在tools-environment options-library-library path中,选择你刚才复制到的目录,确定! 然后再在component-install component-unit file name中,选择spcomm.pas,确定就可以了!在Delphi中用SPCOMM实现串口编程Delphi是一种具有功能强大、简便易用和代码执行速度快等优点的可视化快速应用开发工具,它在构架企业信息系统方面发挥着越来越重要的作用,许多程序员愿意选择 Delphi作为开发工具编制各种应用程序。但是,美中不足之处是 Delphi没有自带的串口通信控件,在它的帮助文档里也没有提及串口通信,这就给编制通信程序的开发人员带来许多不便。 目前,利用 Delphi实现串口通信的常用的方法有 3种:一是利用控件,如 MSCOMM控件和 SPCOMM控件;二是使用 API函数;三是调用其他串口通信程序。其中利用 API编写串口通信程序较为复杂,需要掌握大量的通信知识。相比较而言,利用 SPCOMM控件则相对较简单,并且该控件具有丰富的与串口通信密切相关的属性及事件,提供了对串口的各种操作,而且还支持多线程。下面本文结合实例详细介绍 SPCOMM控件的使用。 SPCOMM的安装 1选择下拉菜 单 Component中的 Install Component选项,弹出如图 1所示的窗口。 在 Unit file name处填写 SPCOMM控件所在的路径,其他各项可用默认值,点击 OK按钮。 2安装后,在 System控件面板中将出现一个红色控件 COM。现在就可以像 Delphi自带控件一样使用 COM控件了。 SPCOMM的属性、方法和事件 1.属性 CommName:表示 COM1、 COM2等串口的名字; BaudRate:根据实际需要设定的波特率,在串口打开后也可更改此值,实际波特率随之更改; ParityCheck:表示是否需要奇偶校验; ByteSize:根据实际情况设定的字节长度; Parity:奇偶校验位; StopBits:停止位; SendDataEmpty:这是一个布尔型属性,为 true时表示发送缓存为空,或者发送队列里没有信息;为 false时表示发送缓存不为空,或者发送队列里有信息。 2方法 Startcomm方法用于打开串口,当打开失败时通常会报错。错误主要有 7种:串口已经打开;打开串口错误;文件句柄不是通信句柄;不能够安装通信缓存;不能产生事件;不能产生读进程;不能产生写进程; StopComm方法用于关闭串口,没有返回值; WriteCommData(pDataToWrite: PChar;dwSizeofDataToWrite:Word )方法是个带有布尔型返回值的函数,用于将一个字符串发送到写进程,发送成功返回 true,发送失败返回 false。执行此函数将立即得到返回值,发送操作随后执行。该函数有两个参数,其中 pDataToWrite是要发送的字符串, dwSizeofDataToWrite是发送字符串的长度。 3事件 OnReceiveData :procedure (Sender: TObject;Buffer: Pointer;BufferLength: Word) of object 当有数据输入缓存时将触发该事件,在这里可以对从串口收到的数据进行处理。 Buffer中是收到的数据, BufferLength是收到的数据长度。 OnReceiveError : procedure(Sender: TObject; EventMask : DWORD) 当接收数据出现错误时将触发该事件。 SPCOMM的使用 下面是一个利用 SPCOMM控件的串口通信的例子。 以实现 PC机与单片机 8051之间的通信为例,首先要调通它们之间的握手信号。假定它们之间的通信协议是: PC到 8051一帧数据 6个字节, 8051到 PC一帧数据也为 6个字节。当 PC发出( F0,01,FF,FF,01,F0)后 8051能收到一帧( F0,01,FF,FF,01,F0),表示数据通信握手成功,两者之间就可以按照协议相互传输数据。 创建一个新的工程 COMM.DPR,把窗体的 NAME属性定为 FCOMM,把窗体的标题定义为测试通信,按照图 2添加控件 (图 2中黑色矩形围住的控件即为 COMM1)。 图 2 1.设定 COMM1属性: 波特率: 4800; 奇偶校验位:无; 字节长度: 8; 停止位: 1; 串口: COM1。 Memo1中将显示发送和接收的数据。将新的窗体存储为 Comm.pas。 2.编写源代码 /变量说明 var fcomm: TFCOMM; viewstring:string; i:integer; rbuf,sbuf:array16 of byte; /打开串口 procedure TFCOMM.FormShow(Sender: TObject); begin comm1.StartComm; end; /关闭串口 procedure TFCOMM.FormClose(Sender: TObject; var Action: TCloseAction); begin comm1.StopComm; end; /自定义发送数据过程 procedure senddata; var i:integer; commflg:boolean; begin viewstring:= ; commflg:=true; for i:=1 to 6 do begin if not m1.writecommdata(sbufi,1) then begin commflg:=false; break; end; /发送时字节间的延时 sleep(2); viewstring:=viewstring inttohex(sbufi,2) ; end; viewstring:=发送 viewstring; fcomm.memo1.lines.add(viewstring); fcomm.memo1.lines.add( ); if not commflg then messagedlg(发送失败 ! ,mterror,mbyes,0); end; /发送按钮的点击事件 procedure TFCOMM.Btn_sendClick(Sender: TObject); begin sbuf1:=byte( f0); /帧头 sbuf2:=byte( 01); /命令号 sbuf3:=byte( ff); sbuf4:=byte( ff); sbuf5:=byte( 01); sbuf6:=byte( f0); /帧尾 senddata;/调用发送函数 end; /接收过程 procedure TFCOMM.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;BufferLength: Word); var i:integer; begin viewstring:= ; move(buffer,pchar(rbuf),bufferlength); for i:=1 to bufferlength do viewstring:=viewstring inttohex(rbufi,2) ; viewstring:=接收 viewstring; memo1.lines.add(viewstring); memo1.lines.add( ); end; 如果 memo1上显示发送 F0 01 FF FF 01 F0和接收到 F0 01 FF FF 01 F0,这表示串口已正确地发送出数据并正确地接收到数据,则串口通信成功。如何用Delphi开发串口通信程序Delphi 是新一代可视化开发工具,它具有功能强大、简便易用和代码执行速度快等特点,Delphi系列开发工具在国际各媒体上曾获得过三十多项大奖,是全球公认的快速应用开发工具技术的先驱者,他越来越在构架企业信息系统方面发挥着重要作用。它的功能很强大,但在对串口通信的控制上Delphi的帮助文档和其他书籍中很少提及,可这是在开发应用系统时会经常遇到却又令人头痛的事情。下面介绍三种解决方案,以实现接收和发送数据的功能。一、 使用ActiveX控件由于Delphi中没有串口控件可用,所以首先需要把ActiveX控件MSCOMM加到元件选项板上。这是一个非常好的控件它不仅能对串口进行操作,而且还可以对Modem进行控制。下面结合一个具体的实例来说明如何用MSCOMM控件开发出串口通信程序。创建一个Communication.dpr工程,把窗体的Name属性变为CommForm,将标题改为The Communication Test,选择File/Save As将新的窗体存储为CommFrm.pas,接下来参照图1和图2将控件添加到主窗体中。图1 图2由图1和图2我们可以看出,通过设置页可选定进行数据传输的通信端口和端口的波特率、奇偶校验、数据位和停止位,通信时每传输一个字符都将触发响应事件,在通信页“传输显示”位置可看到当前正在进行传输的数据。同时当出现回车换行符时将整行内容显示在memDisplay新的一行中,而全部接收的内容还将存在一个文件中。部分源代码如下:变量说明varCommForm: TCommForm;ss :string;savef,readf :file of char;i,j :longint;初始化procedure TCommForm.FormCreate(Sender: TObject);mport:=1;mscomm.settings:=9600,n,8,1;mscomm.inputlen:=1;mscomm.inbuffercount:=0;mscomm.portopen:=true;ss:=;i:=0;j:=0;assignfile(savef,save1);rewrite(savef);assignfile(readf,read1);reset(readf);end;设置确定procedure TCommForm.btnConfirmClick(Sender: TObject);beginif mscomm.portopen thenmscomm.portopen:=false;mport:=strtoint(edtCommport.text);mscomm.settings:=edtCommsetting.Text;end;传输事件procedure TCommForm.MSCommComm(Sender: TObject);varfilenrc :char;buffer :variant;s1:string;c :char;begincase mEvent ofcomEvSend:beginwhile not(eof(readf) dobeginread(readf,filenrc);mscomm.output:=filenrc;j:=j+1;lblDisplay.caption:=inttostr(j);if mscomm.outbuffercount=2 thenbreak;end;end;comEvReceive:beginbuffer:=mscomm.Input;s1:=buffer;c:=s11;ss:=ss+c;i:=i+1;lblDisplay.caption:=c+inttostr(i);write(savef,c);if (c=chr(10)or(c=chr(13) thenbeginlblDisplay.caption:=cr+inttostr(i);memDisplay.lines.add(ss);ss:=;end;end;end;end;当然还有许多串口控制的ActiveX控件,有控件用是方便,但是是否说没有控件就不能用Delphi本身解决问题呢。那么就请来看一下下面的解决方案:二、使用行间汇编对于硬件的控制,汇编语言是最方便的了,而Delphi中又允许使用行间汇编那么来看一下怎样使用行间汇编接收下位机传来的数据,在下面的例子中我们简化了问题,比如我们通过COM2接收400个传来的字符并将这些内容保存在AAA.DAT文件中当接收完毕后显示Receive end。但是为什么说我们简化了问题呢,因为实际情况中双方通信可能是约定传送字符的个数,也可能约定的是规定好的起始字符和结束字符,或是多种条件同时约定待各种条件全部满足时才表示完成一次成功的接收否则如有一个条件未满足都表示接收失败需要重新传送。这些约定在使用了行间汇编的Delphi程序中都可实现。下面的程序就是按一个按钮进入的一个简化的串口接收程序。procedure TForm1.Button1Click(Sender: TObject);var ca:array1.400of char;c:char;i,j:integer;f1:file of char;label loop1;begini:=1;asmmov dx,0001mov ax,005ehint 14hend;for j:=1 to 400 dobeginasmloop1: mov dx,0001mov ah,02int 14htest ah,80hjnz loop1mov c,alend;cai:=c;i:=i+1;end;assignfile(f1,aaa.dat);rewrite(f1);for j:=1 to i-1 dowrite(f1,caj);closefile(f1);label1.caption:=receive end;end;三、用Delphi调用可执行应用程序采用其它编程技术编制的串口通信程序在完成数据传输后将数据保存到磁盘上,然后用Delphi对数据内容进行处理。通过在Delphi中与其他编程技术协同工作也不失为一种解决问题的好方法。SPCOMM控件在Delphi7.0串口通信中的应用2007年04月25日 星期三 19:01SPCOMM控件在Delphi7.0串口通信中的应用摘要:利用Delphi开发工业控制系统软件成为越来越多的开发人员的选择,而串口通信是这个过程中必须解决的问题之一。本文在对几种常用串口通信方法分析比较的基础上,着重讨论了Delphi开发环境下利用Spcomm控件实现PC机与单片机之间串口通信的方法,研究了Spcomm串口通信的关键技术问题,并通过一个实例给出了Spcomm控件在Delphi7.0串口通信中的应用。 关键词:串口通信;Delphi7.0;Spcomm控件 1 引言目前, 随着现代信息技术的发展,计算机串口通信技术已日趋成熟。由于微机性能价格比高、分析处理能力强、处理速度快以及单片机抗干扰能力强、使用灵活等特点,利用PC机作为上位机,单片机作为下位机的主从工作方式在工业控制领域中被广泛采用。无忧S3C2410 ARM9开发板 S3C44B0 ARM7 开发板350元单片机开发系统498元无忧单片机实验开发板238元PC机与下位机的通信可以采用高级语言编程实现,如Delphi、VC等。Delphi 是新一代面向对象的可视化开发工具,它具有功能强大、简便易用和代码执行速度快等特点,越来越在构架企业信息系统方面发挥着重要作用。由于Delphi 这些显著特点,利用Delphi开发工业控制系统软件成为越来越多的开发人员的选择,而实现系统监测控制和信息处理的关键是解决PC机与单片机之间的串口通信问题。2Spcomm串口通信组件简介用Delphi 实现串口通信,常用的方法有:使用控件,如Mscomm和Spcomm控件等;使用API函数;在Delphi 中调用其它串口通信程序1。使用API方法的优点是比较适合于编写较为复杂的低层次通信程序,但缺点是编写串口通信程序较为复杂,需要掌握大量通信知识。Spcomm是Small-Pig Team开发的一个第三方Delphi串口控件2,该控件具有丰富的与串口通信密切相关的属性及事件,提供了对串口的各种操作,且编程简单、通用性强、可移植性好。在Delphi软件开发中已经成为一个被广泛应用的串口通信开发控件。Spcomm共实现了三个类:串口类Tcomm、读线程类TreadThread以及写线程类TwziteThread1。Tcomm的某个实例在方法StartComm中打开串口,并实例化了一个读线程ReadThread和一个写线程WriteThread,它们和主线程之间进行消息的传递,实现串口通信。在Delphi7.0中安装Spcomm串口通信控件的方法为:选择Delphi7.0的“Component”菜单,点击“Install Component.”菜单项,然后在弹出的Into existing package属性页中Unit file name输人框中选择SPCOMM.pas文件,单击两次 “OK”按钮后,就可以将Spcomm控件安装到Delphi7.0的System组件页上。3 Spcomm控件串口通信的实现3.1 Spcomm控件的基本属性、方法和事件Spcomm串口通信控件的基本属性、方法和事件说明如下: CommName属性:计算机串口端口号的名字,COM1、COM2等,在打开串口前,必须填写好此值。Parity属性:校验位 None、Odd、Even、Mark、Space等。BaudRate:设定支持串口通信用的波特率9600,4800等,根据实际需要来定,在串口打开后也可更改波特率,实际波特率随之更改。ByteSize属性:表示一个字节中,使用多少个数据位收发数据,根据具体情况设定5、6、7、8等。StopBits属性:表示一个字节中,使用停止位的位数,根据具体情况设定1、1.5、2等。SendDataEmpty属性:布尔属性,为True时表示发送缓存为空,或者发送队列里没有信息;为False时表示表示发送缓存不为空,或者发送队列里有信息。StartComm方法:用来打开通信串口,开始通信。如果失败,则会导致串行口错误。错误类型大致分为串行口己处于打开状态,所以不能打开串行口,不能创建读写进程,不能建立串行口缓冲区等。StopComm方法:用来停止通信串行口的所有进程,关闭串口。WriteCommData(pDataToWrite:PChar;dwSizeofDataToWrite:Word)方法是带有布尔型返回值的函数,其中参量pszStr-ingToWrite是要写入串行口的字符串,DwSizeaf- DataToWrite是要写入的字符串的长度。该函数通过一个写线程向串行口输出缓冲区发送数据。发送操作将在后台默认执行。如果写线程PostMessage成功,则返回值是True,若写线程失败,返回值是False。OnReceiveData(Buffer:Pointer;BufferLength:Word),其中Buffer是指向输入缓冲区的指针。BufferLength是从缓冲区收到的数据长度。当输入缓冲区收到数据时,该事件被触发。当输入缓存有数据时将触发该事件,对从串口收到的数据进行处理。3.2 Spcomm串口通信的实现Spcomm串行通信控件具有多线程的特性,接收和发送数据分别在两个线程内完成,接收线程负责收到数据时触发OnReceiveData事件;用WriteCommData()函数将待发送的数据写入输出缓冲器,发送线程在后台完成数据发送工作。在接收和发送数据前需要初始化串口,用StartComm方法打开串口,退出程序时用StopComm方法关闭串口。实现PC机与单片机之间的数据发送及接收需要以下步骤:(1)初始化并打开串口需要选择本次通信使用的串口,确定通信协议,即设置波特率、校验方式、数据位、停止位等属性,打开该串口。示例代码如下:/初始化并打开串口Comm1.BaudRate:=9600;/波特率9600bpsComm1.Parity:=None;/奇偶检验无Comm1.ByteSize:=8;/数据位8Comm1.StopBits:=1;/停止位1Comm1.StartComm; /打开串口(2)建立握手信号实现PC机与单片机之间的通信,首先要调通它们之间的握手信号,握手信号可以随意选择某特定字符串, 当PC发出这样一帧数据后,通过接收事件能收到单片机返回的这一帧数据或特定的某字符串,则表示握手成功,系统通信正常。两者之间就可以按照协议相互传输数据。否则需重新建立握手信号。(3)发送数据在编写基于串口的计算机工业测控时,通常需要由PC机向下位机发送命令以控制下位机的行为,同时向下位机发送有关数据。利用Spcomm串口控件向下位机发送数据示例代码如下:/发送数据和控制字程序procedure senddata;vari:integer; commflg : Boolean;begincommflg:=true ;for i:=1 to 8 dobeginif not fcomm comml writecommdata(sendbutter,i) thenbeginCommflg=false;break;end;end;end;(4) 接收数据在编写基于串口的计算机工业测控时,通常需要由下位机向PC机发送数据以使PC机了解系统的测试数据或下位机的运行状态,并进而控制下位机的行为。利用Spcomm串口控件接收下位机发送的数据信息的示例代码如下:/事件驱动方式接收数据程序procedure TForm1.CommlReceiveData(Sender:Tobject;Buffer:Pointer; bufferLength:Word);varreceivedata:array of byte;beginsleep(100);/等待100ms,保证接收到所有数据move(buffef ,receivedata,bufferlength);/将接收缓存区中的数据转移到数组中end;(5) 关闭串口在系统开发中,应注意在不使用串口时应及时关闭串口,释放系统资源,否则可能会影响系统的其它应用。关闭串口的代码如下:procedure TForm1.FormClose ( Sender;TObj ect:var Action:TCIoseAction );begincomml.StopComm ;end;4 Spcomm串口通信的关键技术问题Spcomm应用的核心在于主线程、读线程和写线程之间的消息传递机制,而通信数据相关信息的传递也是以消息传递的方式进行的。在使用Spcomm进行串口通信编程,除按照说明使用外,还需要特别注意以下两个问题。首先,Spcomm是通过ReadIntervalTimeout属性的设置,来确定所接收到的数据是否属子同一帧数据,其默认值是100ms,也就是说,只要任何两个字节到达的时间间隔小于1OOms,都被认为是属于同一帧数据,在与单片机协同工作时,要特别注意这个问题2。另外,Spcomm的默认属性设置是支持软件流控制的,用于流控制的字符是13H(XoffChar)和11H(XonChar),当单片机以二进制方式发送数据时,必须要禁用Spcomm对于软件流控制的支持,否则,在数据帧中出现的13H,11H会被Spcomm作为控制字符而加以忽略。5 结论实践证明,利用Spcomm串行通信控件在Delphi7.0中开发串口通信程序,具有灵活、方便、高效的特点。本文作者创新点是在认真分析多个基于计算机串口工控测控系统的基础上,分析了利用Spcomm控件实现PC机与单片机之间串口通信的方法,研究了Spcomm串口通信的关键技术问题。在实际应用中取得了较好的应用效果,具有一定的实践指导意义。SPCOMM控件的串口通信目前,利用 Delphi实现串口通信的常用的方法有 3种:一是利用控件,如 MSCOMM控件和 SPCOMM控件;二是使用 API函数;三是调用其他串口通信程序。其中利用 API编写串口通信程序较为复杂,需要掌握大量的通信知识。相比较而言,利用 SPCOMM控件则相对较简单,并且该控件具有丰富的与串口通信密切相关的属性及事件,提供了对串口的各种操作,而且还支持多线程。下面本文结合实例详细介绍 SPCOMM控件的使用。SPCOMM的安装1选择下拉菜单 Component中的 Install Component选项,在 Unit file name处填写 SPCOMM控件所在的路径,其他各项可用默认值,点击 OK按钮。2安装后,在 System控件面板中将出现一个红色控件 COM。现在就可以像 Delphi自带控件一样使用 COM控件了。SPCOMM的属性、方法和事件1.属性CommName:表示 COM1、 COM2等串口的名字;BaudRate:根据实际需要设定的波特率,在串口打开后也可更改此值,实际波特率随之更改;ParityCheck:表示是否需要奇偶校验;ByteSize:根据实际情况设定的字节长度;Parity:奇偶校验位;StopBits:停止位;SendDataEmpty:这是一个布尔型属性,为 true时表示发送缓存为空,或者发送队列里没有信息;为 false时表示发送缓存不为空,或者发送队列里有信息。2方法Startcomm方法用于打开串口,当打开失败时通常会报错。错误主要有 7种:串口已经打开;打开串口错误;文件句柄不是通信句柄;不能够安装通信缓存;不能产生事件;不能产生读进程;不能产生写进程;StopComm方法用于关闭串口,没有返回值;WriteCommData(pDataToWrite: PChar;dwSizeofDataToWrite:Word )方法是个带有布尔型返回值的函数,用于将一个字符串发送到写进程,发送成功返回 true,发送失败返回 false。执行此函数将立即得到返回值,发送操作随后执行。该函数有两个参数,其中 pDataToWrite是要发送的字符串, dwSizeofDataToWrite是发送字符串的长度。3事件OnReceiveData :procedure (Sender: TObject;Buffer: Pointer;BufferLength: Word) of object当有数据输入缓存时将触发该事件,在这里可以对从串口收到的数据进行处理。 Buffer中是收到的数据, BufferLength是收到的数据长度。OnReceiveError : procedure(Sender: TObject; EventMask : DWORD)当接收数据出现错误时将触发该事件。此贴子已经被作者于2004-05-09 08:40:28编辑过img/bbs/UploadFile/2005-3/2005320191459674.gif/img2004-5-7 8:31:00举报帖子 使用道具 yangguofa来自:黑马王子等级:业余侠客文章:360积分:27114注册:2004年5月5日第 2 楼 QQ SPCOMM的使用下面是一个利用 SPCOMM控件的串口通信的例子。以实现 PC机与单片机 8051之间的通信为例,首先要调通它们之间的握手信号。假定它们之间的通信协议是: PC到 8051一帧数据 6个字节, 8051到 PC一帧数据也为 6个字节。当 PC发出( F0,01,FF,FF,01,F0)后 8051能收到一帧( F0,01,FF,FF,01,F0),表示数据通信握手成功,两者之间就可以按照协议相互传输数据。创建一个新的工程 COMM.DPR,把窗体的 NAME属性定为 FCOMM,把窗体的标题定义为测试通信,添加相应的控件。1.设定 COMM1属性:波特率: 4800;奇偶校验位:无;字节长度: 8;停止位: 1;串口: COM1。Memo1中将显示发送和接收的数据。将新的窗体存储为 Comm.pas。2.编写源代码/变量说明varfcomm: TFCOMM;viewstring:string;i:integer;rbuf,sbuf:array16 of byte;/打开串口procedure TFCOMM.FormShow(Sender: TObject);begincomm1.StartComm;end;/关闭串口procedure TFCOMM.FormClose(Sender: TObject; var Action: TCloseAction);begincomm1.StopComm;end;/自定义发送数据过程procedure senddata;vari:integer;commflg:boolean;beginviewstring:= ;commflg:=true;for i:=1 to 6 dobeginif not m1.writecommdata(sbuf,1) thenbegincommflg:=false;break;end;/发送时字节间的延时sleep(2);viewstring:=viewstring inttohex(sbuf,2) ; end;viewstring:=发送 viewstring;fcomm.memo1.lines.add(viewstring);fcomm.memo1.lines.add( );if not commflg then messagedlg(发送失败 ! ,mterror,mbyes,0);end;/发送按钮的点击事件procedure TFCOMM.Btn_sendClick(Sender: TObject);beginsbuf1:=byte( f0); /帧头sbuf2:=byte( 01); /命令号sbuf3:=byte( ff);sbuf4:=byte( ff);sbuf5:=byte( 01);sbuf6:=byte( f0); /帧尾senddata;/调用发送函数end;/接收过程procedure TFCOMM.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;BufferLength: Word);vari:integer;beginviewstring:= ;move(buffer,pchar(rbuf),bufferlength);for i:=1 to bufferlength doviewstring:=viewstring inttohex(rbuf,2) ;viewstring:=接收 viewstring;memo1.lines.add(viewstring);memo1.lines.add( );end; Delphi 中TMsComm控件使用指南作者:不详来源:收集整理发布时间:2005-9-3 0:15:07发布人:admin减小字体 增大字体 Delphi 中TMsComm控件使用指南l 注册TMsComm控件 1.将Mscomm.srg, Mscomm32.ocx,Mscomm32.dep三个文件复制到系统文件夹中C:winntsystem32。 2.用Windows下的注册工具regsvr32注册该OCX控件,点击“开始”-运行,再在中填入(假设操作安装在C盘,WIN2000): Regsvr32 C:winntsystem32Mscomm32.ocx 3.在注册表中手工新建一个主键项:先在点击“开始”-运行,再在中填入regedit命令打开注册表,找到HKEY_CLASSES_ROOTLicenses,在其中添加主键 4250E830-6AC2-11cf-8ADB-00AA00C00905并将内容设置为: kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun l 引入TMSC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论