Cita:
|
Empezado por Carlos Arevalo
Creo que el problema esta en que cada reporte esta hecho en un formulario aparte.
|
A ver. Me da la impresión de que no leiste a fondo mi mensaje.
El StringList Reportes lo declaras en alguna unidad común, digamos, RepFactory.
En cada unidad donde definas un QuickRep, agregas RepFactory a la cláusula uses y en su sección
initialization registras el reporte.
Para fijar ideas, la unidad frmivalibrodecompras quedaría así:
Código Delphi
[-]
unit frmivalibrodecompras;
interface
uses
RepFactory;
implementation
initialization
Reportes.AddObject('QuickRepivalibro', QuickRepivalibro);
end.
Entonces, en la(s) unidad(es) donde desees usar tus reportes, agregar RegFactory a la cláusula
uses (no hay necesidad de agregar la unidad de cada reporte).
Ahora ya puedes buscar en Reportes el objeto asociado al nombre, similarmente a como dice
Lepe:
Código Delphi
[-]
I := Reportes.IndexOf(NombreInforme);
if I <> -1 then
xreporte := TQuickReport(Reportes.Objects[i]);
// Saludos