Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado (editado)

Bom dia a todos, de vez em quando, ocorre um erro na tela onde tenho um componente TACBrNFe, e verifiquei a seguinte situação.

 

No destructor do componente, tem esse código abaixo,

destructor TACBrNFe.Destroy;
begin
  FConfiguracoes.Free;
  FNotasFiscais.Free;
  FCartaCorrecao.Free;
  FEventoNFe.Free;
  FDownloadNFe.Free;
  FWebServices.Free;
  {$IFDEF ACBrNFeOpenSSL}
    if FConfiguracoes.Geral.IniFinXMLSECAutomatico then
      NotaUtil.ShutDownXmlSec ;
  {$ENDIF}
  inherited;
end;

dá erro na diretiva, pois o FConfiguracoes recebeu um free no começo do código. Essa diretiva não tinha que ser antes do Free?? O estranho que debugando tem hora que ocorre o erro e tem horas que não(sim, entra na diretiva e existe valor na propriedade)..

Editado por jGuto
Postado (editado)

Bom dia,
 
Vendo agora, realmente quando utilizar ACBrNFeOpenSSL vai dar acess violation ao executar a sentença "if FConfiguracoes.Geral.IniFinXMLSECAutomatico then".
 
 
Edit: Conferi nos meus fontes q estão atualizados e esta com o mesmo erro ali. Para resolver é só mover a diretiva pro inicio da função.
 
 

destructor TACBrNFe.Destroy;
begin
  {$IFDEF ACBrNFeOpenSSL}
    if FConfiguracoes.Geral.IniFinXMLSECAutomatico then
      NotaUtil.ShutDownXmlSec ;
  {$ENDIF}
  FConfiguracoes.Free;
  FNotasFiscais.Free;
  FCartaCorrecao.Free;
  FEventoNFe.Free;
  FDownloadNFe.Free;
  FWebServices.Free;
  inherited;
end;
Editado por Roberto.Godinho
  • Este tópico foi criado há 4159 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.