没有什么逻辑的.就提示一个查询
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;