Ir para conteúdo
  • Cadastre-se

dev botao

Acbrnfedanferave (Demora Na Destruição)


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

Recommended Posts

Postado

Bom dia a todos, 

 

Uso uso o componente da ACBrNFe e seus respectivos relatório mais ainda o ACBrNFeDANFERave faço da seguinte forma:

 

//Criando o objeto

if (Assigned(FACBrNFe)) then
begin
    FACBrNFe.NotasFiscais.Clear;
    FreeAndNil(FACBrNFe);
end;
 
 if (not(Assigned(FACBrNFeDANFERave))) then
 begin
     FACBrNFeDANFERave := TACBrNFeDANFERave.Create(Application);
 end;
  FACBrNFe.DANFE := FACBrNFeDANFERave;
  FACBrNFeDANFERave.RavFile := pCaminholayout;
  FACBrNFeDANFERave.PathPDF := pCaminhoPDF;
 
//Destruindo o objeto
if (Assigned((FACBrNFeDANFERave))) then
begin
   FACBrNFeDANFERave.Free;
   FACBrNFeDANFERave := nil;
end;
 
Na hora de destruir demora muito em media de 30 a 60 segundos.
Pelo que eu vi e quando vai destruir o Data Modulo "dmDanfe" alguém sabe o que pode ser?
 
Utiliza a solução dentro de um DLL por isso crio em Rum Time.

 

  • Moderadores
Postado

Vc não postou informações importantes como:

 

1) Delphi Utilizado

2) Versão do Rave Reports

 

Mas adianto que se for a versão geração 5 o consumo de memoria sempre foi muito alto do Rave.

 

A solução seria vc utilizar o Danfe com Rave Code Base que dispensa uso dos arquivos .rav e que não faz uso do datamodule em questão.

Logo vc terá ganho de performance.

 

[]´s

João Henrique de Souza

 

Manual de como configurar o TortoiseSVN para não ficar mostrando a senha repetidas vezes (somente para commiters):

https://sourceforge.net/p/forge/community-docs/TortoiseSVN/

 

 

Postado

Bom juaumkiko, desde já agradeço sua reposta e o interesse em mim ajudar.

 

O Rave  que utilizo: Version 6.01 Build 7601

O Delphi e o XE2.

 

 

Dei um olhada no Rave Code Base, só que utilizo mais de um modelo de relatório e se um buscar pelo aquivo e melhor para que possa controlar isso.

 

A lentidão na destruição do Data Modulo "dmDanfe".

 

destructor TACBrNFeDANFERave.Destroy;
begin
  dmDanfe.Free; // Aqui acontece a lentidão
  inherited Destroy ;
end;
  • Moderadores
  • Solution
Postado

Antes de passar a usar o Fast Report, eu usava danfe em Rave arquivo como você.

 

Nao tinha esse problema pq eu procurava criar dinamicamente só na hora de imprimir. Dae depois de imprimir eu já destruía.

 

Aparentemente vc faz a mesma coisa nao me vem nada que possa estar causando isso.

 

No seu codigo postado no primeiro topico eu trocaria as linhas:

   FACBrNFeDANFERave.Free;
   FACBrNFeDANFERave := nil;
 
por:
 
   FreeAndNil(FACBrNFeDANFERave);
 

Abraços

João Henrique de Souza

 

Manual de como configurar o TortoiseSVN para não ficar mostrando a senha repetidas vezes (somente para commiters):

https://sourceforge.net/p/forge/community-docs/TortoiseSVN/

 

 

Postado

Bom dia, juaumkiko, Agradeço pela sua atenção. Depois de alguns dias consegui resolver o problema.

 

Bom era o seguinte: antes tinha todos componente e um DM, e as rotinas de eventos, envio e consulta constava no código que gerava o EXE, após migrar a mesma para uma DLL começou a lentidão, na verdade a lentidão era que eu não havia removido o DM do projeto e nem os componentes. era o DM que causa a lentidão na destruição do objeto.

 

Quanto as linhas

   FACBrNFeDANFERave.Free;

   FACBrNFeDANFERave := nil;
 
Já realizei a troca, havia utilizado a anterior para realizar testes. Muito obrigado foi sua primeira resposta que mim fez chegar a solução.
Postado

Antes de passar a usar o Fast Report, eu usava danfe em Rave arquivo como você.

 

Nao tinha esse problema pq eu procurava criar dinamicamente só na hora de imprimir. Dae depois de imprimir eu já destruía.

 

Aparentemente vc faz a mesma coisa nao me vem nada que possa estar causando isso.

 

No seu codigo postado no primeiro topico eu trocaria as linhas:

   FACBrNFeDANFERave.Free;
   FACBrNFeDANFERave := nil;
 
por:
 
   FreeAndNil(FACBrNFeDANFERave);
 

Abraços

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