急!!!(请教)spcomm能发送数据,但不能接收数据
这是自发自收的例子,请帮忙看看,哪里出错了,我用的是delphi7编写的。。。var
viewstring:string;
sbuf,rbuf:arrayof byte;
procedure TForm1.FormCreate(Sender: TObject);
begin
comm1.StartComm;
end;
procedure TForm1.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 Form1.Comm1.WriteCommData(@sbuf,1) then
begin
commflg:=false;
break;
end;
sleep(2);
viewstring:=viewstring+inttohex(sbuf,2)+' ';
end;
viewstring:='发送'+viewstring;
Form1.Memo1.Lines.Add(viewstring);
Form1.Memo1.Lines.Add(' ');
if not commflg then
messagedlg('发送失败!',mterror,,0);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
sbuf:=byte($f0);
sbuf:=byte($01);
sbuf:=byte($ff);
sbuf:=byte($ff);
sbuf:=byte($01);
sbuf:=byte($f0);
senddata;
end;
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: PAnsiChar; //注意这是PAnsiChar,我看到的好像都是pointer
BufferLength: Word);
var
i:integer;
begin
viewstring:=' ';
move(buffer^,pchar(@rbuf)^,bufferlength);
for i:=1 to bufferlength do
viewstring:=viewstring+inttohex(rbuf,2)+' ';
viewstring:='接收'+viewstring;
Form1.memo2.Lines.Add(viewstring);
Form1.memo2.Lines.Add(' ');
end; 注意一下 spcomm控件的 设置。 都设置好的,还请大家帮帮忙。。。 //注意这是PAnsiChar,我看到的好像都是pointer 我的这里就是指针类型。。你为什么要修改类项啊
页:
[1]