Ir para conteúdo
  • Cadastre-se

dev botao

Invalid pointer operation ACBrNFeDANFCeFortes


Ver Solução Respondido por leotelles,
  • Este tópico foi criado há 2068 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia. No nosso sistema, o usuário tem a opção de imprimir a NFC-e via PosPrinter ou via Fortes. Para isso alimentamos, em tempo de execução, a propriedade ACBrNFe1.DANFE com ACBrNFeDANFeESCPOS ou ACBrNFeDANFCeFortes, de acordo com a escolha do usuário. Quando vinculamos o ACBrNFeDANFCeFortes ao ACBrNFe1.DANFE, nosso sistema exibe a seguinte mensagem de erro ao encerrar a aplicação:

Exception EInvalidPointer in module YZIDRO_VJ.exe at 00002AC4.
Invalid pointer operation.

Temos um método de configuração onde definimos as propriedades do DANFE. Só de chamar esse método vinculando o Fortes, já dá o erro ao encerrar a aplicação, mesmo sem tentar executar a impressão.

Se faço conforme exemplo abaixo, o erro acontece ao encerrar a aplicação:

case(iTipoImpressao)of
    0: DTUtilACBr.ACBrNFe1.DANFE := DTUtilACBr.ACBrNFeDANFCeFortes1; {Fortes Report}
    1: DTUtilACBr.ACBrNFe1.DANFE := DTUtilACBr.ACBrNFeDANFeESCPOS1;  {PosPrinter}
end;

Se faço conforme exemplo abaixo, o erro não acontece:

case(iTipoImpressao)of
//    0: DTUtilACBr.ACBrNFe1.DANFE := DTUtilACBr.ACBrNFeDANFCeFortes1; {Fortes Report}
    0: DTUtilACBr.ACBrNFe1.DANFE := DTUtilACBr.ACBrNFeDANFeESCPOS1;  {PosPrinter}
    1: DTUtilACBr.ACBrNFe1.DANFE := DTUtilACBr.ACBrNFeDANFeESCPOS1;  {PosPrinter}
end;

Alguém tem alguma ideia que possa nos ajudar?

Obs: já debuguei e o erro aconteceu na última linha (end.) do .dpr, sendo que após isso, o sistema fecha na tela, mas permanece aberto em segundo plano, tendo que finalizar a tarefa pelo gerenciador do Windows.

Link para o comentário
Compartilhar em outros sites

  • Solution

Consegui resolver o problema. Aqui temos um form com todos os componentes do ACBr que usamos no sistema. Ele não é criado em tempo de execução, ou seja, é iniciado com o sistema e o finalizado ao encerrar a aplicação. A solução foi chamar o método DestroyComponents para esse form no FormClose do formulário principal.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...