当反复选Combobox2决定COM口时,就会出错,说COMMPORT已经打开(0分)

  • 主题发起人 主题发起人 xiaoyaozh
  • 开始时间 开始时间
X

xiaoyaozh

Unregistered / Unconfirmed
GUEST, unregistred user!
有这样一段代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
case ComboBox2.ItemIndex of
0:begin
if not(MsComm1.CommPort=1)
then
MsComm1.CommPort:=1;
end;
1:begin
if not(MsComm1.CommPort=2)
then
MsComm1.CommPort:=2;
end;
End;
End;
当反复选Combobox2决定COM口时,就会出错,说COMMPORT已经打开
哪里的问题?
 
你确定没有再combobox2的onchang中写什么?
 
在修改端口前,也许你应该先将串口关掉,改完后再打开。
 
procedure Tfcom.commsz(lx:integer);
var rate_tmp:integer;
begin
assignfile(comm_f,pathstr+'comm.ini');

reset(comm_f);
read(comm_f,comm);
closefile(comm_f);
rate_tmp:=3;
case lx of
0:begin
COMM1.DeviceName:=comm.comm_name;
rate_tmp:=comm.comm_rate;
end;
1:begin
COMM1.DeviceName:=comm.comm_namez;
rate_tmp:=comm.comm_ratez;
end;
end;
case rate_tmp of
1: comm1.BaudRate:=br1200;
2: comm1.BaudRate:=br2400;
3: comm1.BaudRate:=br4800;
4: comm1.BaudRate:=br9600;
5: comm1.BaudRate:=br19200;
6: comm1.BaudRate:=br38400;
end;

comm1.Databits :=da8;
Comm1.Parity :=paEven;
Comm1.StopBits :=sb10;

COMM1.Open ;
Comm1.SetDTRState(true);
comm1.EventChars.XoffChar:=#13;
comm1.EventChars.xonchar:=#11;
end;
 
接受答案了.
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部