Preview personalizado + QRCompositeReport1 - Após imprimir não fecha form anterior
Li um tópico parecido e que não teve solução, mas meu caso é diferente.
Uso Delphi Xe7 com QuickReport 5.06.2
O que ocorre - Após gerar o relatório normalmente e após clicar para imprimir onde temos o código - QRPreview1.QRPrinter.Print - Imprime normamente, após fechar o relatório, voltamos ao form anterior, este não é possível fechar nem pelo botão padrão da janela, nem em qualquer outro botão com comando para fechar, a janela não responde ao comando de fechar. Só finalizando a aplicação pelo Gerenciador de Tarefas.
Vamos aos testes já feitos.
Não é problema de eliminar o form da memória, pois não inicializo os forms na memória, crio em tempo de execução e uso no OnClose de todos os forms Action := Cafree.
Só ocorre o problema utilizando o QRCompositeReport1, para quem não conhece serve para unir 2 ou mais relatórios em um só, muito útil para agrupar informações de tabelas diferentes.
Sem o QRCompositeReport1 funciona normalmente, só que preciso dele para agrupar os relatórios.
Segue os códigos utilizados.
Botão para gerar o relatório.
if (Application.FindComponent('TForm2') = nil) then
Application.CreateForm(TForm2,Form2);
Form2.QRCompositeReport1.Preview;
Form2.Close;
No Form2 no QuickReport no evento OnPreview temos o código para chamar o preview personalizado que está no Form4
OnPreview
Form4 := TForm4.Create(Application);
with Form4 do
begin
QRPreview1.QRPrinter := TQRPrinter(Sender);
Show; //Se usar o ShowModal não aparece nada no QrPreview1
end;
Basicamente é isso, resumindo novamente, gera o relatório agrupado pelo QRCompositeReport1 normamente, mas após clicar no botão Imprimir e após fechar o relatório, o form anterior não é possível fechar.
Agradeceria muito se alguém que já passou por isso ou que sabe a solução postasse pois já estou a uma semana tentando e nada.
Já desinstalei o DelphiXe7, já instalei do zero, já instalei novamente o QuickReport e vários outros testes.
Mas o que percebei é que existe algum conflito do QRCompositeReport1 com o QRPreview1.QRPrinter.
Aguardo respostas. Obrigado desde já.
Uso Delphi Xe7 com QuickReport 5.06.2
O que ocorre - Após gerar o relatório normalmente e após clicar para imprimir onde temos o código - QRPreview1.QRPrinter.Print - Imprime normamente, após fechar o relatório, voltamos ao form anterior, este não é possível fechar nem pelo botão padrão da janela, nem em qualquer outro botão com comando para fechar, a janela não responde ao comando de fechar. Só finalizando a aplicação pelo Gerenciador de Tarefas.
Vamos aos testes já feitos.
Não é problema de eliminar o form da memória, pois não inicializo os forms na memória, crio em tempo de execução e uso no OnClose de todos os forms Action := Cafree.
Só ocorre o problema utilizando o QRCompositeReport1, para quem não conhece serve para unir 2 ou mais relatórios em um só, muito útil para agrupar informações de tabelas diferentes.
Sem o QRCompositeReport1 funciona normalmente, só que preciso dele para agrupar os relatórios.
Segue os códigos utilizados.
Botão para gerar o relatório.
if (Application.FindComponent('TForm2') = nil) then
Application.CreateForm(TForm2,Form2);
Form2.QRCompositeReport1.Preview;
Form2.Close;
No Form2 no QuickReport no evento OnPreview temos o código para chamar o preview personalizado que está no Form4
OnPreview
Form4 := TForm4.Create(Application);
with Form4 do
begin
QRPreview1.QRPrinter := TQRPrinter(Sender);
Show; //Se usar o ShowModal não aparece nada no QrPreview1
end;
Basicamente é isso, resumindo novamente, gera o relatório agrupado pelo QRCompositeReport1 normamente, mas após clicar no botão Imprimir e após fechar o relatório, o form anterior não é possível fechar.
Agradeceria muito se alguém que já passou por isso ou que sabe a solução postasse pois já estou a uma semana tentando e nada.
Já desinstalei o DelphiXe7, já instalei do zero, já instalei novamente o QuickReport e vários outros testes.
Mas o que percebei é que existe algum conflito do QRCompositeReport1 com o QRPreview1.QRPrinter.
Aguardo respostas. Obrigado desde já.
Marcos Pereira
Curtidas 0