Pesquisar na Comunidade
Showing results for tags 'monitorarbalanca'.
Encontrado 1 registro
-
Balança: Toledo. Versão dos fontes: Atualizado até a revisão 12865 de 26/01/2017. Descrição do problema: Se configurar o componente TACBrBAL para monitorar a balança (ACBrBAL1.MonitorarBalanca := True;) o componente fica monitorando a balança, mas para de fazê-lo se o método TACBrBAL.LePeso for chamado. Ex: ACBrBAL1.LePeso( TimeOut ); O problema está no método abaixo: function TACBrBAL.LePeso( MillisecTimeOut : Integer) : Double; Var Ativado, Monitorando : Boolean ; begin Ativado := Ativo ; Monitorando := MonitorarBalanca ; try Monitorando := False ; if not Ativado then { Ativa caso não tenha sido ativado antes } Ativar ; Result := fsBAL.LePeso( MillisecTimeOut ) ; if Assigned( fsOnLePeso ) then fsOnLePeso( UltimoPesoLido, UltimaResposta ) ; finally Ativo := Ativado ; MonitorarBalanca := Monitorando ; end ; end; Note que a variável Monitorando está recebendo o valor da propriedade MonitorarBalanca(linha 6) e em seguida, dentro do bloco try, recebe false. Portanto quando o método LePeso for chamado, a propriedade MonitorarBalanca sempre será definida como false. Correção: Alterar método para: function TACBrBAL.LePeso( MillisecTimeOut : Integer) : Double; Var Ativado, Monitorando : Boolean ; begin Ativado := Ativo ; Monitorando := MonitorarBalanca ; try MonitorarBalanca := False ; if not Ativado then { Ativa caso não tenha sido ativado antes } Ativar ; Result := fsBAL.LePeso( MillisecTimeOut ) ; if Assigned( fsOnLePeso ) then fsOnLePeso( UltimoPesoLido, UltimaResposta ) ; finally Ativo := Ativado ; MonitorarBalanca := Monitorando ; end ; end;