SPCOMM控件的几个问题 急(20分)

  • 主题发起人 主题发起人 天空4567
  • 开始时间 开始时间

天空4567

Unregistered / Unconfirmed
GUEST, unregistred user!
SPCOMM控件应用中的几个问题:
1、如何调用Comm1ReceiveData过程?过程名为:TForm2.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;BufferLength: Word);
2、希望COMM1中有30个字符的时候开始接收数据,如何实现?
 
修改SPCOMM.pas源码中的INPUTBUFFERSIZE为30
当接收到30个字节后触发OnReceiveData事件

如何调用Comm1ReceiveData过程??没懂你的意思,只需要响应Comm1的OnReceiveData事件就可以了.或是Comm1.OnReceiveData:=Comm1ReceiveData;
 
Delphi技术联盟群:23889386
 
to luzhouman:
"修改SPCOMM.pas源码中的INPUTBUFFERSIZE为30,当接收到
30个字节后触发OnReceiveData事件 ",如何实现?
 
那个事件是你收到数据他自动执行啊!
 
procedure TForm2.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
begin
.........
end;

在需要读串口的地方,我用
“Comm1ReceiveData(Sender:TObject;Buffer:Pointer;BufferLength:Word);”
来调用,编译时提示为:Comm1ReceiveData未定义;
Sender未定义;
Buffer未定义;
怎么做?
 
请问天空你也在做串口编程的吗?
 
RThreshold:该属性为一阀值,它确定当接收缓冲区内的字节个数达到
或超过该值后就产生代码为ComEvReceive的OnComm事件。
 
可以在Comm1的OnReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word)中直接判断BufferLength的大小吗?
如果该值符合某条件,则取出缓冲区的数据?
to 衣雪峰:
你的RThreshold是这个意思吗?
 
是不是OnReceiveData事件,是在每接收一个字符的时候触发一次??
 
认真看看spcomm的属性
 
多人接受答案了。
 
后退
顶部