| e_pera Novato
 
  
  
 Registrado: Quinta-Feira, 22 de Janeiro de 2009
 Mensagens: 97
 
 
 | 
			
				|  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;
 |  |