Poner varios quickreports dentro de un mismo form es viable, pero creo que no tiene sentido, me explico:
Colocas... digamos 5 QuickReports dentro de un mismo Form, en tiempo de ejecución tienes que crear ese Form (para poder acceder al QuickReport) y te encuentras con varios detalles:
- Al crearse el Form, se crean los 5 QuickReports, aunque solo vayas a usar 1, por tanto, tardará en crearse 5 veces más.
- El usuario puede tener la ventana de clientes y la de facturas abiertas. Cada vez que vayas a imprimir, tienes que mirar si el Form de los quickreports está creado o no, y además sincronizarlo para no liberar el Form mientras se esté imprimiendo desde otro sitio de tu programa.
- Un QuickReports, teniendo una relación Maestro-Detalle necesitará 2 Datasources, 2 TQuerys, etc. Si tenemos 5 QuickReports dentro del mismo Form, estamos liando las cosas aún más.
¿Por qué complicarnos tanto la vida?
File -> New -> Other ->QuickReport
Al igual que a todos los forms le ponemos el prefijo "Frm" delante de su nombre, con los QuickReports le ponemos el "Qr" delante; de esta forma en Delphi, al ver todos los forms que tenemos, veremos los Qr agrupados.
Cada ventana creará su propio TQuickReports, abrirá las consultas y lo cerrará liberando la memoria. No hay conflictos por ningún sitio.
Si Dentro del QuickReports tienes una imagen y no quieres que se imprima, usa el evento BeforePrint de la banda o del propio TqrImage. Allí puedes poner su propiedad Enabled a false, es el homólogo de Edit1.Visible := false; los de QuickReports se equivocaron al ponerle el nombre a esa propiedad
.
Saludos