Jump to content

dev botao

Invalid pointer operation ACBrNFeDANFCeFortes


Go to solution Solved by leotelles,
  • Este tópico foi criado há 2216 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 to comment
Share on other 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.

  • Like 1
Link to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.