GARANTIR DESCONTO

Fórum Erro ao imprimir Danfe(acbrnfe). #409600

22/11/2011

0

Galera, bom dia
Estou tendo um problema na impressão do Danfe.
Conforme vamos utilizando o sistema durante o dia, te momentos que na hora de imprimir(ACBrNFeDANFERave), o componente imprimir a nota anterior, mesmo passando o caminho certo do xml, nao funciona. Se o sistema for finalizado e iniciado novamente, a impressão sai correta. O que estou entendo, que deve estar ficando algum lixo no componente, mesmo limpando o componente(NotasFiscais.Clear)alguem pode me ajudar?
Agua Cascatai

Agua Cascatai

Responder

Posts

22/11/2011

Euclides Cunha

Tenho por mim que um free resolve seu problema... pois não trabalho com este componente, mas tudo leva a crer q tem q esvaziar a sua memória.
Responder

Gostei + 0

22/11/2011

Gustavo Bretas

Faz tempo que não trabalho com esse componente, mas a NFe fica em uma lista, e vc precisa limpar a lista antes de imprimir uma nova a NF.

Verifica se ainda existe: ACBrNFe1.NFe.Clear ou ACBrNFe1.NotaFiscal.Clear

Melhor ainda, no fonte do projeto que vc deve ter baixado do SVN, tem um demo com fonte, só conferir la!

Abraço!
Responder

Gostei + 0

22/11/2011

Agua Cascatai

Obrigado pela ajuda, mas estou limpando o componente.
Gostaria de tentar criar os componentes(TAcbrNFe e TACBrNFeDANFERave) em tempo de execução para ver se soluciono o erro.

Alguem pode me ajudar?
Responder

Gostei + 0

23/11/2011

Leonardo Xavier

Bom dia!

Amigo você já tentou criar o seu componente em tempo de execução, conforme o que você postou logo acima? Se ainda não, tente colocar seu código dando um timer para a limpeza, pois tive já vários problemas com impressoras, mas todos eles eram relacionados com o spool de impressão quando eu executava a limpesa de componente não adiantava nada mas quando comecei a limpar o spool deu certo. Faça o teste e veja como fica, se o seu problema irá persistir.

procedure TForm1.Button1Click(Sender: TObject); 
begin 
   WinExec(pchar(cmd /c net stop spooler) ,SW_HIDE); 
   WinExec(pchar(cmd /c cd %systemroot%\system32\spool\PRINTERS) ,SW_HIDE); 
   WinExec(pchar(cmd /c del /f /s *.shd) ,SW_HIDE); 
   WinExec(pchar(cmd /c net start spooler) ,SW_HIDE); 
end;

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar