ReportBuilder

ReportBuilderarrow-up-right é outra ferramenta de relatórios amplamente usada em Delphi. Também geramos uma saída PDF do relatório e a direcionamos para um TUniUrlFrame.

Pascal
lPDFDevice := TppPDFDevice.Create(nil);

try
  lPDFDevice.PDFSettings := ppReport1.PDFSettings;
  lPDFDevice.FileName    :=
    UniServerModule.NewCacheFileUrl(False,'pdf','','', AUrl);
  lPDFDevice.Publisher   := ppReport1.Publisher;

  // gerar o relatório
  ppReport1.PrintToDevices;
  UniURLFrame1.URL := AUrl;
finally
  lPDFDevice.Free;
end;
circle-info

Para evitar conflitos entre componentes de relatório baseados em VCL e o mecanismo multi-threaded do uniGUI, você deve criar relatórios dinamicamente.

Para isso, você precisa criar um Free DataModule usando o uniGUI Wizard e colocar todos os seus componentes e código de geração de relatórios dentro deste módulo:

Free DataModule

A geração do relatório será simplesmente realizada criando o data module conforme demonstrado abaixo:

O demo completo está disponível na pasta ..\demos\Report Builder.