调用WaitCommEvent会死掉,请问如何解决?(100分)

  • 主题发起人 主题发起人 2373088
  • 开始时间 开始时间
2

2373088

Unregistered / Unconfirmed
GUEST, unregistred user!
在利用windows的AP进行串行口编程I时,调用WaitCommEvent会死掉
 
把代码贴出来看看。
 
怎么死法?
 
本人利用磁条设备读写磁条数据,在对串行口编程时,采用异步方式,当插入磁条载体时,
能够读出数据,但当不插入磁条载体时,发现会死掉。等待接收数据的代码如下:
if (WaitCommEvent(hcom,DwEvtmask,olcom)) then //等待接收回应数据
begin
i:=0;
while(i<=2)do
begin
if( not ReadFile(hcom,response,1,nofread,olcom)) then
begin
Result:=-9;
exit;
end;
i:=i+1;
end;
end

另外,在QBABIC中,如下语句:
10 if Loc(1)<3 then 10 else A$=input$(3,#1)
在delphi中有何函数和它对应?
 
本人现在找到出错的原因了,当调用WaitcommEvent时,要先调用ClearCommError()
函数:检测错误并清除错误条件。
 
多人接受答案了。
 
后退
顶部