GARANTIR DESCONTO

Fórum Problema com frxdesigner na aplicação #414465

23/03/2012

0

Bom dia, sempre usei i FastReport em minhas aplicações, e para facilitar, tenho um DataModule e um form só para controlar meus relatórios e possibilitar a criação/modificação de relatórios direto na aplicação.
Em uma nova aplicação que criei, venho tendo um problema que ao tentar imprimir o relatório pela aplicação, ele abre o relatório, pede os paramentros através de uma dialog criado no arquivo fr3 mas quando vou imprimir ele fecha o relatório.
Usando em tempo de design(clicando no frxreport) ele mostra o relatório normalmente, descartando que seja problema no relatório.
O código que uso para imprimir meus relatórios segue abaixo :

procedure TfrmRelatorios.btnImprimirClick(Sender: TObject);
begin
  if CdsRelatorios.State = dsBrowse then
    CdsRelatorios.edit;
  CdsRelatoriosULTIMA_EMISSAO.AsDateTime := now;
  CdsRelatorios.Post;
  CdsRelatorios.ApplyUpdates(0); // grava no banco a última impressão do relaório

  dmReport.frxReport1.Clear;
  dmReport.frxReport1.LoadFromFile
    (dmPrincipal.CdsParametrosCAMINHO_RELATORIOS.asstring + \ +
      CdsRelatoriosARQUIVO.asstring);
  dmReport.frxReport1.ShowReport(True);
end;


Para entrar em modo de design uso :

  dmReport.frxReport1.Clear;
  dmReport.frxReport1.LoadFromFile
    (dmPrincipal.CdsParametrosCAMINHO_RELATORIOS.asstring + \ +
      CdsRelatoriosARQUIVO.asstring);
  dmReport.frxReport1.DesignReport;


Como falei, tudo parece funcionar normalmente, mas em modo de execução não abre o preview do relatório.

Agradeço qualquer ajuda,

Alexandre Torres
Alexandre Torres

Alexandre Torres

Responder

Posts

23/03/2012

Alexandre Torres

Descobri o problema.
Eu usava a função :
  If not((Screen.ActiveControl is TCustomMemo) or
      (Screen.ActiveControl is TCustomGrid) or
      (Screen.ActiveForm.ClassName = TMessageForm)) then
  begin
    If Msg.message = WM_KEYDOWN then
    begin
      Case Msg.wParam of
        VK_RETURN, VK_DOWN:
          Screen.ActiveForm.Perform(WM_NextDlgCtl, 0, 0);
        VK_UP:
          Screen.ActiveForm.Perform(WM_NextDlgCtl, 1, 0);
      end;
    end;
  end


no form principal da aplicação para mudar os campos com Enter e isso estava dando problema no meu form de relatórios, passei a usar o componente jvTabAsEnter e resolveu.

Agradeço a atenção,

Alexandre Torres
Responder

Gostei + 0

23/03/2012

Leonardo Xavier

ok...que bom que você resolveu seu problema! Abraços
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar