这也是一个办法,还顺便问一下咯!
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
s:string;
begin
move(Buffer^,pchar(s),BufferLength);
这个代码到底是那里有错误啊!我怎么编译不能通过啊!
错误是这样的!
[Error] Unit1.pas(202): Constant object cannot be passed as var parameter
你可以这样测一下,变成spcomm代码
for j:=1 to 10 do //找系统端口
begin
comm1.CommName:='com'+inttostr(j);
try
comm1.StartComm;
//标记本端口可用
memo1.Lines.Add('串口'+inttostr(j)+'可用');
comm1.StopComm;
except
//标记本端口不可用
memo1.Lines.Add('串口'+inttostr(j)+'不可用');
end;
end;
next
还有啊!现在还不是有那种USB-232的转换线买吗》。所以你根本就不知道他到底有多少端口啊!
也不知道他的名字咯!我的意思是这样的要是能够象MSCOMM一样可以估计大概最多有几个端口,然后一个一个的测试啊。如
for j:=1 to 10 do //找系统端口
begin
MSComm1.CommPort:=j;