Ir para conteúdo
  • Cadastre-se

dev botao

ACBrNFSeX - Sugestão de pequena melhoria


Ver Solução Respondido por Gabriel Bonzanini,

Recommended Posts

  • Solution
Postado (editado)

Boa tarde pessoal!

Na unit ACBrNFSeX.pas, método TACBrNFSeX.Emitir (linha 509 da versão do repositório), existe um sleep que acredito que possa ser evitado, caso o componente já tenha obtido o retorno desejado:

          while (Situacao < 3) and (qTentativas < Tentativas) do
          begin
            FProvider.ConsultaSituacao;

            Situacao := StrToIntDef(FWebService.ConsultaSituacao.Situacao, 0);
            Inc(qTentativas);
            sleep(Intervalo); <<<<<<<
          end;

Uma sugestão seria adicionar um if com as mesmas condições do laço, pois caso elas tenham sido atendidas, não há motivo para aguardar:

          while (Situacao < 3) and (qTentativas < Tentativas) do
          begin
            FProvider.ConsultaSituacao;

            Situacao := StrToIntDef(FWebService.ConsultaSituacao.Situacao, 0);
            Inc(qTentativas);
			
            if (Situacao < 3) and (qTentativas < Tentativas) Then
              sleep(Intervalo);
          end;

Outro formato, se preferirem, poderia ser utilizando um while True:

          while True do
          begin
            FProvider.ConsultaSituacao;

            Situacao := StrToIntDef(FWebService.ConsultaSituacao.Situacao, 0);
            Inc(qTentativas);
			
            if (Situacao < 3) and (qTentativas < Tentativas) then
              sleep(Intervalo)
            else
              break;
          end;

 

Abraço, e obrigado pelo trabalho de vocês, seus componentes são de grande ajuda!

Editado por Gabriel Bonzanini

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...