Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Opa galera, terminei minha homologação do PAFECF, segue uma possível correção que fiz em relação ao protocolo ESCECF

Tenho uma impressora TM-T900 da Epson, toda a vez que imprimia um relatório gerencial ele passava por essa procedure. 

procedure TACBrECFEscECF.AjustaLinhasColunas(var Linhas: AnsiString;
  MaxLin: Integer);

onde na linha ele coloca um #0 deixando sempre na ultima linha do relatório um [NULL].

Citar

if RightStr(Linhas, 1) = #10 then
    Linhas := LeftStr(Linhas, Length(Linhas)-1) + #0;

A unica alteração que fiz foi tirar o #0 deixando de acontecer o problema.

Quando falo que é uma possível correção, porque não sei o que esse carácter estava fazendo ali.

 

Se quiserem fazer esse ajuste, fiquem a vontade

Abraços

 

Postado

esqueci de enviar tem mais uma na unit acbrecfclass, tem a função

procedure TACBrECFClass.RelatorioGerencial(Relatorio: TStrings; Vias: Integer; Indice: Integer);

tem uma parte na função que é assim: 

Citar

try
     ECF.FechaRelatorio ; { Fecha se ficou algum aberto }
  Except
  end ;
 

porém não faz sentido ter um try except, se tem um estado da impressora que é estrelatorio

Citar

if ECF.Estado = estRelatorio then
     ECF.FechaRelatorio ; { Fecha se ficou algum aberto }

Ta ai abraços

  • Fundadores
Postado
1 hora atrás, RauberGabri disse:

porém não faz sentido ter um try except, se tem um estado da impressora que é estrelatorio

Isso foi implementado porque em algumas situações o ECF tem o Relatório ou Documento aberto, mas não retorna exatamente estRelatorio... o Exception é mudo (nunca vazará).. ler o Estado do ECF pode consumir tanto tempo quanto tentar enviar o comando de Fechamento...

Em relação a modificação sugerida abaixo (comentar a linha "fsEscECFProtocolo.Free")... você teve algum problema de A.V. ou vazamento de memória ?

image.png

 

2 horas atrás, RauberGabri disse:

A unica alteração que fiz foi tirar o #0 deixando de acontecer o problema.

Em relação a esse problema... como estava configurada a propriedade PORTA ? Você usou algo como "USB" ou "DLL" ? Se SIM, será usada a DLL da Epson como canal para envio de informações ao ECF... e ela pode fazer alguns tratamentos extras...

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.

  • Fundadores
Postado

Poderia por favor, postar um trecho do Log do ACBrECF, onde o problema ocorreu ?

Com a modificação que você promoveu (remover a adição do último #0), o componente conseguiu imprimir corretamente, uma linha em branco ?

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.

  • 2 semanas depois ...
Postado

Olá, estive fora esses dias, mas fazendo os testes aqui, sim eu tive vazamento de memória, porem foi erro meu, estava sem a dll InterfaceEpson na pasta do executavel.

E sobre o #0 o meu Driver da EPSON USB estava incorreto, pois formatei meu computador e reinstalando a impressora não aconteceu mais o problema.

Desculpe o incomodo e abraços

 

 

  • Curtir 1
  • Este tópico foi criado há 2581 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.