Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Olá Pessoal,

Estou tendo alguns problemas com os meus relatório desenvolvido com o 
Fortes.
Os relatórios estão ficando presos na memória, o primeiro relatório 
gerado sai normal, ao tentar gerar o segundo relatório sai os mesmos 
dados do primeiro. Estou usando Lazarus 1.4.4 fpc. 2.6.4

O que pode estar acontecendo?

Estou fazendo assim nos eventos:

procedure Tfrmrelvendadir.bimprimirClick(Sender: TObject);
begin
  qryreport.Close;
  qryreport.ParamByName('pdata1').AsDate := StrToDate(dtpini.Text);
  qryreport.ParamByName('pdata2').AsDate := StrToDate(dtpfim.Text);
  qryreport.Open;
  if rdgopcao.ItemIndex = 0 then
  begin
    with Tfrmrelvendadirfr.Create(nil) do
      try
        //Application.CreateForm(Tfrmrelvendadirfr, frmrelvendadirfr);
        rlempresa.Caption := dmcad.empresa;
        RLusuario.Caption := frmmenu.usuariolog;
        rldata1.Caption := dtpini.Text;
        rldata2.Caption := dtpfim.Text;
        //frmrelvendadirfr.RLReport1.PreviewModal;
        //frmrelvendadirfr.RLReport1.Preview;
        RLReport1.Preview;
      finally
        Destroy;
      end;
  end;
  if rdgopcao.ItemIndex = 1 then
  begin
    with Tfrmrelvendadirfr.Create(nil) do
      try
        //Application.CreateForm(Tfrmrelvendadirfr, frmrelvendadirfr);
        rlempresa.Caption := dmcad.empresa;
        RLusuario.Caption := frmmenu.usuariolog;
        rldata1.Caption := dtpini.Text;
        rldata2.Caption := dtpfim.Text;
        RLReport1.Print;
      finally
        Destroy;
      end;
  end;
end;                               

 

procedure Tfrmrelvendadir.FormDestroy(Sender: TObject);
begin
  frmrelvendadirfr.Free;
  frmrelvendadirfr := nil;
end;  

Postado

Os relatório estão ficando na memória. Mesmo passando os comandos   frmrelvendadirfr.Free;
e  frmrelvendadirfr := nil;

Gero o primeiro relatório sai normal o segundo sai com os mesmo dados do primeiro, é muito estranho...

  • Fundadores
Postado

Estranho, pois você está criando/destruindo o mesmo... (recomendo usar "Free" e não "Destroy")

Talvez o Fortes use variáveis globais em suas units...

Qual informação exatamente, fica repetida entre um relatório e o próximo ?

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Postado

Mesmo trocando Destroy por free, continua a mesma coisa.

Toda a parte do sql sai repetida, conforme o anexo o período que esta no anexo são período do segundo mais os dados são do primeiro.

rel1.pdf

  • Fundadores
Postado

O problema pode estar na sua rotina que alimenta o relatório...

Tente algo mais simples, para isolar se o problema é do Fortes... crie um mini projeto, que apenas liste um relatório simples, e veja se o problema também ocorre...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Fundadores
Postado

Veja... o Bug pode até ser no Fortes... mas você precisará sinalizar isso de forma muito clara para eles...

- Onde o bug está, e como ele ocorre.

Não dá pra analisar nada no Fortes, com as informações que você passou até o momento...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Postado

Olá Daniel,

Segue um mimi aplicativo que demostra o problema.

1- Execute o 1 primeiro relatório, selecionando um período de código.

2 - Após a exibição feche a tela de filtros.

3 - Abre novamente a tela de filtros e selecione um período diferente do primeiro.

Observe que foi foi exibido os mesmos dados que estava no primeiro filtro.

 

 

report.7z

  • 2 semanas depois ...
  • 1 mês depois ...
  • 1 mês depois ...
Postado

Depois de muitas pesquisas, encontrei a solução para esse problemas hoje.

Ao invés de chamar o frm com o show modal, chamei desta forma e deu tudo ok!

try
    Application.CreateForm(Tfrmrel, frmrel);
    frmrel.ShowModal;
  finally
    frmrel.Release;
  end;      

 

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