Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia!

Ao comandar a impressão do relatório de identificação do PAF-ECF, o cupom sai incompleto.

Segue imagens da depurações e do cupom gerado.

Edit: Estou usando uma Daruma MACH2 (FS700) conectada via USB.

ACBrECF.txt

post-1946-13548988184353.jpg

post-1946-1354898818473.jpg

post-1946-13548988184927.jpg

  • Consultores
Postado

Olá,

Olhei superficialmente suas imagens e não tenho esse ECF aqui, mas percebi que tem um zero na string no Buffer pela sua imagem. Anexei aqui abaixo.

Em algum momento após isso, acredito que o código está tratando a string como uma null-terminated ou zero-terminated.

O seu Breakpoint está na linha 4571. Logo depois da execução desta linha, o valor do Buffer é jogado para SL.TEXT. Verifique neste ponto o valor de SL.TEXT.

Talvez trocando o código para SL.add(Buffer) possa resolver. Mas o melhor é verificar o motivo do char(0), #0, estar aparecendo no meio da string.

post-247-1354898818547.jpg

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado

Talvez trocando o código para SL.add(Buffer) possa resolver. Mas o melhor é verificar o motivo do char(0), #0, estar aparecendo no meio da string.

Efetuei esta modificação conforme me indicou e funcionou perfeitamente. Este #0 está vindo da função "DecodificarTagsFormatacao", vou analisar e qualquer coisa volto a comentar.

Modificação (ACBrECF - Linha 4571):


//SL.Text := Buffer;

SL.Clear;

SL.Add(Buffer);

Quer que eu anexe o meu ACBrECF.pas?

  • Consultores
Postado

Efetuei esta modificação conforme me indicou e funcionou perfeitamente. Este #0 está vindo da função "DecodificarTagsFormatacao", vou analisar e qualquer coisa volto a comentar.

Quer que eu anexe o meu ACBrECF.pas?

Por favor, faça isso. Se perceber alguma coisa na função DecodificarTagsFormatacao avise também. Qualquer coisa, outros programadores com mais experiência nas tags de formatação podem nos ajudar também. :)

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Fundadores
Postado

O ECF realmente usa #0 para desligar os comandos... porém AnsiString tira isso de letra..

Qual a versão do seu Delphi ? parece que ele está enfrentando problemas no tratamento de Strings e AnsiStrings

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

Uma dica para rápida resolução do problema é:

ACBrECF1.IgnorarTagsFormatacao := True ;

Funcionou também!

Com esta flag ativa, terei implicação em algum outro lugar a não ser nos relatórios gerenciais?

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