Ver Mensaje Individual
  #6  
Antiguo 24-04-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 28
Lepe Va por buen camino
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
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita