我想问一下mscomm控件的OnComm事件是在什么时候触发的?
procedure TMainForm.MSComm1Comm(Sender: TObject);
var
buffer :variant;
s1:string;
c :char;
begin
case Mscomm1.CommEvent of
ComEvSend:
begin
Memo_Show.Lines.Add('发送数据!');
end;
ComEvReceive:
begin
buffer:=Mscomm1.Input;
s1:=buffer;
c:=s1[1];
ss:=ss+c;
Memo_show.Lines.Add(ss);
ss:='';
inc(JSdate);
StatusBar.Panels.Items[2].Text:='接收:'+inttostr(JSdate);
Diff(datetostr(now)+' '+timetostr(now)+' 接收到:'+ss);
end;
end;
end;
procedure TMainForm.Btn_SysClick(Sender: TObject);
var
SendHex:array[0..8] of char;
s:string;
i:integer;
begin
try
s:='';
SendHex[0]:=chr($44);
SendHex[1]:=chr($30);
SendHex[2]:=Chr($31);
SendHex[3]:=chr(13);
SendHex[4]:=chr($50);
SendHex[5]:=chr($4f);
SendHex[6]:=chr($4c);
SendHex[7]:=chr(13);
SendHex[8]:=chr(4);
for i:= 0 to 8 do
s:=s + SendHex[i];
Mscomm1.Output:=s;
FSdate:=FSdate+length(s);
diff(datetostr(now)+' '+timetostr(now)+' 发送:'+s);
StatusBar.Panels.Items[1].Text:='发送:'+inttostr(FSdate);
except
Memo_show.Lines.Add('发送查询系统指令出错!')
end;
end;
我在case Mscomm1.CommEvent of处设置断点,运行procedure TMainForm.Btn_SysClick(Sender: TObject);可是没有触发OnComm事件,why?