我要在串口中提采数据,所用的控件为SPCOMM。我向串口发送了信息。用别串口查看程序可看到串口中的信息,但SPCOMMR的onReceiveData事情没有触发。为何?程序如下:unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SPComm, Buttons, StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Comm1: TComm;
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Panel2: TPanel;
Memo1: TMemo;
Panel3: TPanel;
Button1: TButton;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Edit1: TEdit;
Button6: TButton;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
try
comm1.BaudRate:=19200;
comm1.CommName:='COM1';
comm1.StopComm;
comm1.StartComm;
speedbutton1.Enabled:=false;
speedbutton2.Enabled:=true;
except
speedbutton1.Enabled:=true;
speedbutton2.Enabled:=false;
end;
end;procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
comm1.StopComm;
speedbutton1.Enabled:=true;
speedbutton2.Enabled:=false;
end;procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:=trim(edit1.Text)+#13;
comm1.WriteCommData(pchar(s),length(s));
end;procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
s:string;
begin
setlength(s,bufferlength);
move(buffer^,pchar(s)^,bufferlength);
memo1.Lines.Add(s);
memo1.Lines.Add('>--------------------');
end;procedure TForm1.Button6Click(Sender: TObject);
begin
memo1.Clear;
end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SPComm, Buttons, StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Comm1: TComm;
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Panel2: TPanel;
Memo1: TMemo;
Panel3: TPanel;
Button1: TButton;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Edit1: TEdit;
Button6: TButton;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
try
comm1.BaudRate:=19200;
comm1.CommName:='COM1';
comm1.StopComm;
comm1.StartComm;
speedbutton1.Enabled:=false;
speedbutton2.Enabled:=true;
except
speedbutton1.Enabled:=true;
speedbutton2.Enabled:=false;
end;
end;procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
comm1.StopComm;
speedbutton1.Enabled:=true;
speedbutton2.Enabled:=false;
end;procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:=trim(edit1.Text)+#13;
comm1.WriteCommData(pchar(s),length(s));
end;procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
s:string;
begin
setlength(s,bufferlength);
move(buffer^,pchar(s)^,bufferlength);
memo1.Lines.Add(s);
memo1.Lines.Add('>--------------------');
end;procedure TForm1.Button6Click(Sender: TObject);
begin
memo1.Clear;
end;end.
解决方案 »
- 怎么样获取远程文件的大小?
- DELPhi nmftp 的nlist方法列表中起过一定数量就找不到文件
- 我在Rave报表上放了一个databand然后在它上面放了一个datatext为什么不能显示datatext中的数呢???
- 怎么修改提示框的标题栏?
- 关于去掉DBEdit文本栏中的空格的问题
- 我用DBGRID显示不停插入的信息,如何让记录到了DBGRID底时,刷新后再回到DBGRID的上面..
- 在工程中有哪些是 不需要我们定义的全局变量?
- SQL server中类型只有datetime型,无date型,那我用datetimepicker1.date时输入日期数据时为什么都同时产生了一个默认时间?
- 简单。。。。
- 怪事一樁!
- 请问Delphi中如何能过http来Post数据
- 怎么访问oracle 8i 的clob字段
你重新安装了吗?
[email protected]