我写了以上的程序代码,但在编译时会出错,请问错在什么地方。
var
FCOMM: TFCOMM;
viewstring:string;
i:integer;
rbuf,sbuf:array[1..6] of byte;
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(rbuf[i],2)+'';
viewstring:='接收'+viewstring;
memo1.lines.add(viewstring);
memo1.lines.add('');
end;出现的错误提示是move(buffer^,pchar(@rbuf^),bufferlength);这一命令行error:ponter type required
var
FCOMM: TFCOMM;
viewstring:string;
i:integer;
rbuf,sbuf:array[1..6] of byte;
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(rbuf[i],2)+'';
viewstring:='接收'+viewstring;
memo1.lines.add(viewstring);
memo1.lines.add('');
end;出现的错误提示是move(buffer^,pchar(@rbuf^),bufferlength);这一命令行error:ponter type required
pchar(@rbuf^)???
pchar(@rbuf^),
这样是对的,我已经测试通过
在DataReceiveHandler中处理收到的数据:for i:=0 to bufferlength do
SendMessage(Memo1.handle, WM_CHAR, word(buffer[i]), 0);
我做过一个铁路仪表的软件,就是这样的
你从网上吵得把?
应该先去看看 @he ^的意思~~
@buf^是什么意思?和buf一样了,pchar(@buf)^就可以了