我用SPCOMM做了一个串口应用程序,在SPCOMM的recievedata事件中一打开TADOQuery就报'未指定的错误',代码如下
procedure TFmTest.CommRecieveReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
strSql:string;
begin
if (not DMMain.QIDReturn.Active) then
begin
strSql:='SELECT a.* FROM T_QC_IDReturn a '+
'INNER JOIN T_QC_Device b ON a.F_Device=b.F_SN '+
'WHERE b.F_Dept='''+DeviceConfigInfo.Hospital+'''';
execQuery(DMMain.ConnMain,DMMain.QIDReturn,strSql);
end;
end;
以上代码放在按钮的click事件中就没任何问题
如有知道的朋友,还请帮忙,非常感谢
procedure TFmTest.CommRecieveReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
strSql:string;
begin
if (not DMMain.QIDReturn.Active) then
begin
strSql:='SELECT a.* FROM T_QC_IDReturn a '+
'INNER JOIN T_QC_Device b ON a.F_Device=b.F_SN '+
'WHERE b.F_Dept='''+DeviceConfigInfo.Hospital+'''';
execQuery(DMMain.ConnMain,DMMain.QIDReturn,strSql);
end;
end;
以上代码放在按钮的click事件中就没任何问题
如有知道的朋友,还请帮忙,非常感谢
比如第1个数据来了,开始执行代码,但未结束;
第2个数据又来了,又触发了事件
但not DMMain.QIDReturn.Active条件还是成立的,所以又执行代码,肯定就会出错了把他分离出来,或者改1下条件