yo imprimo mediante una unidad creada por mi pero el QRCompositeReport lo tengo en un DataModulo creo las variables de los reportes que voy a mostrar pero me aparece un error de memoria voy a poner mi codigo
Código Delphi
[-]
Var
Titulo : TRContinuaTitulo1;
Agrupado : TRAgrupado;
ReporteTotales : TRTotales;
ReporteIVA : TRIVAS;
Aqui defino las variables en la unidad creada por mi, no se si al crearlas quedan locales y no las puedo ver en el datamodulo
Código Delphi
[-]
if TipoFactura = 'Agrupada' then
Begin
try
Titulo := TRContinuaTitulo1.Create(Nil);
Agrupado := TRAgrupado.Create(Nil);
ReporteTotales := TRTotales.Create(Nil);
ReporteIVA := TRIVAS.Create(Nil);
with Titulo do
Begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.TexT := 'SELECT * FROM FACTURATOTALES(' + inttostr(Factura) + ' )';
Query1.Active := True;
End;
with Agrupado do
Begin
Agrupado.Close;
Agrupado.SQL.Clear;
Agrupado.SQL.Add('SELECT I.Grupo As Grupo, SUM(I.Valor) AS Valor FROM Servicio S, Orden_Servicio O, ItemServicio I');
Agrupado.SQL.Add('WHERE N_Factura = '+ inttostr(Factura) +' AND S.Codigo = I.Servicio AND I.Orden = N_Orden AND I.Servicio = S.Codigo GROUP BY I.Grupo');
Agrupado.Active := True;
End;
with ReporteTotales do
Begin
Totales.Close;
Totales.SQL.Clear;
Totales.SQL.Text := 'SELECT * FROM TOTALFACTURA ('+ inttostr(Factura) + ')';
Totales.Active := True;
End;
with ReporteIVA DO
bEGIN
IVAS.Close;
IVAS.SQL.Clear;
IVAS.SQL.Text := 'SELECT * FROM TOTALFACTURA1 ('+ inttostr(Factura) + ')';
IVAS.Active := True;
END;
DataM.Reporteador.Preview;
finally
FreeAndNil(Titulo);
FreeAndNil(Agrupado);
FreeAndNil(ReporteTotales);
end;
end;
Asi lleno el evento OnAddReports en el QRCompositeReport q se encuentra en el datamodulo
Código Delphi
[-]
procedure TDataM.ReporteadorAddReports(Sender: TObject);
begin
Reporteador.Reports.Add(Titulo);
Reporteador.Reports.Add(Agrupado);
Reporteador.Reports.Add(ReporteIVA);
Reporteador.Reports.Add(ReporteTotales);
end;
Cuando muestro el QRCompositeReport llamado desde mi unidad me aparece un error de memoria e hecho un seguimiento y la secuencia no entra al evento onAddReports.
La otra opcion que pienso es crear el QRCompositeReport en tiempo de ejecución pero como lleno el evento onAddReports.
Si alguien me puede ayudar lo agradeceria ya llevo dos dias con este problema
Gracias