Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3397 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde colegas!

Adquirimos uma EPSON TM-T800F a qual estou testando com o nosso sistema.

Já nos primeiros testes me deparei com o retorno RANGE CHECK ERROR.

Percebi que esse erro acontece sempre nos relatórios gerenciais mas acontece depois de um tempo.

Não consigo reproduzir uma sequência que gere o erro,

Imprimo relatórios gerenciais normalmente e posso repetir o mesmo relatório com o mesmo conteúdo várias vezes sem que o erro aconteça.

Depois de imprimir alguns relatórios o erro acontece e ai qualquer coisa que se tente fazer após esse erro não funciona.

Posso tentar imprimir uma leitura x, um não fiscal, uma venda, etc que todo e qualquer comando retorna esse erro.

Depurando percebi que a exceção é gerada sempre na linha em destaque no fonte abaixo.

function TACBrECFClass.EnviaComando(cmd: AnsiString = ''): AnsiString;
begin
  try
    try
       AtivarPorta;
       GravaLog('-- '+FormatDateTime('hh:nn:ss:zzz',now)+' '+fpComandoLOG,True );

       if Assigned(fpDevice) then
          if (not fpDevice.Ativo) then
             raise EACBrECFNaoInicializado.create( ACBrStr(cACBrECFNaoInicializadoException) );

       if AguardandoResposta then
          raise EACBrECFOcupado.create( ACBrStr(cACBrECFOcupadoException) ) ;

       VerificaEmLinha ;

       fsBytesRec         := 0 ;
       AguardandoResposta := True ;
       try
          Result := EnviaComando_ECF( Cmd ) ;
       finally
          AguardandoResposta  := False ;
          IgnorarErroSemPapel := False;
          GravaLog('   '+FormatDateTime('hh:nn:ss:zzz',now)+' RX <- '+fpRespostaComando, True);

          if ControlePorta then ////////////////////////// AQUI GERA A EXCEÇÃO
             DesativarPorta;
       end ;
    except
       On E: Exception do
       begin
          GravaLog('----------------- ERRO -----------------' + sLineBreak +
                   ACBrStrToAnsi( E.Message ) + sLineBreak +
                   '----------------------------------------' + sLineBreak );
          raise ;
       end ;
    end ;
  finally
     fpComandoLOG := '' ;
  end ;
end;

Estou com a última versão do fontes do trunk atualizado hoje.

Utilizando o ECFTeste não consegui gerar o erro.

Segue anexo o log gerado pelo componente.

Versão do software da impressora é 01.01.00.

Não sei se o problema tem a ver com esse post mas acredito que não http://www.projetoacbr.com.br/forum/topic/23373-protocolo-escecf/

Se alguém tiver alguma dica ou sugestão agradeço.

Att.

 

 

 

ecf_07082015143403.txt

Giuliano Naspolini Ribeiro

Automalog Consultoria e Sistemas Ltda

  • Fundadores
Postado

Parece ser algo errado em seu ambiente... Veja nos fontes... "ControlePorta" é um Boolean... como ele poderia gerar um "Range check error" ?

Você já testou com o "Trunk2" ?

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Postado

Psé Daniel eu vi que é um boolean e também achei estranho, mas depurei várias vezes e é exatamente quando passa nesse if que gera a exceção.

Vou testar com o trunk 2 e já dou um retorno.

Att.

 

Giuliano Naspolini Ribeiro

Automalog Consultoria e Sistemas Ltda

Postado (editado)

Na mosca Daniel!

Continuei com o trunk e desmarquei a opção Range Check no projeto.

A partir dai fiz todos os testes sem problema algum.

Em anexo segue o print da opção para caso alguém se depare com o mesmo problema.

Lembro que o meu Delphi é o XE.

Acredito que nas versões seguintes seja no mesmo lugar.

Obrigado mais uma vez!

Att.

 

range.png

Editado por giulianon

Giuliano Naspolini Ribeiro

Automalog Consultoria e Sistemas Ltda

  • Este tópico foi criado há 3397 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

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.