没有什么逻辑的.就提示一个查询 procedure TWorkPLCHandlers.UpdateMachCommSta(IsLog: Boolean); //更新通信状态 begin if IsLog then AddMemoLog('UpdateMachCommSta:Begin '+BoolToStr(IsUptCommSta)+' IsConn:'+ BoolToStr(DMSYS.NTConn_SYS.IsConnected)); if IsUptCommSta then Exit; //与服务器未连接或者更新中 (not IsLineConn) Or IsUptCommSta := True; try TThread.CreateAnonymousThread( // 创建一个单线程,完成ATask procedure begin try {TThread.Synchronize(nil, procedure begin } try With DMSYS.NTDataSet_CommSta do begin Close;SQL.Clear; SQL.Add('Update OLM_MachineLst_Sta Set CommState='+QuotedStr(CommState)+', CommDT=GetDate() '); SQL.Add(' Where MachineID='+IntToStr(MachineID)); ExecSQL; end; IsUptCommSta := False; except on e:Exception do begin IsUptCommSta := False; AddMemoLog('UpdateMachCommSta:1错误'+e.Message+' IsUpt:'+BoolToStr(IsUptCommSta)); end; end; if IsLog then AddMemoLog('UpdateMachCommSta:End '+BoolToStr(IsUptCommSta)); // end) except on e:Exception do begin IsUptCommSta := False; AddMemoLog('UpdateMachCommSta:2错误'+e.Message+' IsUpt:'+BoolToStr(IsUptCommSta)); end; end; IsUptCommSta := False; end).Start; except on e:Exception do begin IsUptCommSta := False; AddMemoLog('UpdateMachCommSta:3错误'+e.Message+' IsUpt:'+BoolToStr(IsUptCommSta)); end; end; end;
procedure TWorkPLCHandlers.UpdateMachCommSta(IsLog: Boolean); //更新通信状态
begin
if IsLog then
AddMemoLog('UpdateMachCommSta:Begin '+BoolToStr(IsUptCommSta)+' IsConn:'+ BoolToStr(DMSYS.NTConn_SYS.IsConnected));
if IsUptCommSta then Exit; //与服务器未连接或者更新中 (not IsLineConn) Or
IsUptCommSta := True;
try
TThread.CreateAnonymousThread( // 创建一个单线程,完成ATask
procedure
begin
try
{TThread.Synchronize(nil,
procedure
begin }
try
With DMSYS.NTDataSet_CommSta do
begin
Close;SQL.Clear;
SQL.Add('Update OLM_MachineLst_Sta Set CommState='+QuotedStr(CommState)+', CommDT=GetDate() ');
SQL.Add(' Where MachineID='+IntToStr(MachineID));
ExecSQL;
end;
IsUptCommSta := False;
except
on e:Exception do
begin
IsUptCommSta := False;
AddMemoLog('UpdateMachCommSta:1错误'+e.Message+' IsUpt:'+BoolToStr(IsUptCommSta));
end;
end;
if IsLog then
AddMemoLog('UpdateMachCommSta:End '+BoolToStr(IsUptCommSta));
// end)
except
on e:Exception do
begin
IsUptCommSta := False;
AddMemoLog('UpdateMachCommSta:2错误'+e.Message+' IsUpt:'+BoolToStr(IsUptCommSta));
end;
end;
IsUptCommSta := False;
end).Start;
except
on e:Exception do
begin
IsUptCommSta := False;
AddMemoLog('UpdateMachCommSta:3错误'+e.Message+' IsUpt:'+BoolToStr(IsUptCommSta));
end;
end;
end;