Ir para conteúdo
  • Cadastre-se

antoniojmsjr

Membros
  • Total de ítens

    8
  • Registro em

  • Última visita

Community Answers

  1. antoniojmsjr's post in Ajuste pcnNFe.pas was marked as the answer   
    Boa tarde, realizei um ajuste na unit pcnNFe.pas para corrigir um erro Invalid pointer operation, esse erro acontece:
    TEnviarNFCe = class
      private
        FDocumento: TNFe;
      public
        constructor Create;
        destructor Destroy; override;
        procedure ProcessarNFCe;
        procedure EnviarNFCe(pACBrNFe: TACBrNFe);
      end;
    constructor TProcessarIniNFCe.Create;
    begin
      FDocumento := TNFe.Create;
    end;
    destructor TProcessarIniNFCe.Destroy;
    begin
      FDocumento.Free; //QUANDO FINALIZA, GERA UM ERRO AO LIBERAR FDet DA CLASSE TNFe.Destroy;
    end;
    procedure TProcessarIniNFCe.ProcessarNFCe;
    begin
      FDocumento.Ide.cUF := 'RS';
      FDocumento.Ide.serie := 70;
      FDocumento.Ide.nNF := 1000;
      ...
      ...
    end;
    procedure TProcessarIniNFCe.EnviarNFCe(pACBrNFe: TACBrNFe);
    begin
      
      pACBrNFe.NotasFiscais.Add.NFe.Assign(Self.FDocumento);
      //AQUI TEM OUTROS PROCESSOS PARA PODER ENVIAR A NFC-e
      {
      ...
      ...
      }
      
      //NO FINAL DE TUDO É LIMPO
      pACBrNFe.NotasFiscais.Clear;
    end;
    Este é um resumo simples do processo que eu realizo, eu acredito o que esteja acontecendo é que o assing do TDetCollection tá utilizando a referência do objeto para salva na lista e quando realiza o pACBrNFe.NotasFiscais.Clear está removendo e liberando o objeto. Quando eu libero o objeto FDocumento.Free está gerando o erro Invalid pointer operation.
    pcnNFe.pas
×
×
  • 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.