e_pera Novato
Registrado: Quinta-Feira, 22 de Janeiro de 2009 Mensagens: 96
|
Enviada: Qui Jan 22, 2009 9:36 am Assunto: Customização Rave Reports (Resolvido) |
|
|
Bom Dia,
Fiz uma tela de customização para rave reports em MDI funciona que é uma beleza, só que na hora que mando imprimir me retorna um erro "Stream Read Error" não sei mais como resolver este problema, gostaria que alguem me ajuda-se: seque abaixo o codigo da criação do formulario e o botão que tenta imprimir o relatório:Obs: O RVProject e o RVRenderWriter estão em um data module:
constructor Tfrm_relatoriopadrao.Create(AOwner: TComponent; Relatorio: TMemoryStream);
begin
inherited Create(AOwner);
dm.RvNDRWriter1.Stream := Relatorio;
RvRenderPreview1.Render(dm.RvNDRWriter1.Stream);
end;
procedure Tfrm_relatoriopadrao.Btn_ImprimirClick(Sender: TObject);
var
ReportStream: TMemoryStream;
begin
ReportStream := TMemoryStream.Create;
PrintDialog.Options := [poPageNums] + [poWarning];
PrintDialog.FromPage := 1;
PrintDialog.MinPage := 1;
PrintDialog.ToPage := RvRenderPreview1.Pages;
PrintDialog.MaxPage := RvRenderPreview1.Pages;
if PrintDialog.Execute then begin
RvRenderPrinter1.NDRStream := ReportStream;
RvRenderPrinter1.Copies := PrintDialog.Copies;
RvRenderPrinter1.Collate := PrintDialog.Collate;
RvRenderPrinter1.FirstPage := 1;
RvRenderPrinter1.LastPage := RvRenderPreview1.Pages;
if PrintDialog.PrintRange = prPageNums then begin
RvRenderPrinter1.FirstPage := PrintDialog.FromPage;
RvRenderPrinter1.LastPage := PrintDialog.ToPage;
end;
RvRenderPrinter1.Render(ReportStream); <-- Onde acontece o erro ("Stream Read Error")
end;
FreeAndNil(ReportStream);
end;
Na Linha RvRenderPrinter1.NDRStream := ReportStream; troque por
RvRenderPrinter1.NDRStream := dm.RvNDRWriter1.Stream;
Na linha RvRenderPrinter1.Render(ReportStream) e só retirar o ReportStream;
RvRenderPrinter1.Render()
Na realidade não e necessário o uso do TMemoryStream; |
|