Ver Mensaje Individual
  #15  
Antiguo 25-01-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Más o menos ese es el tema que quería comentar, es decir, las distintas posibilidades de mostrar la presentación preliminar:

Código Delphi [-]
   qrReport1.PreviewModal; // aqui usaremos distintas formas.
   ShowMessage('se ve o no se ve');
   qrReport1.Free;

- PreviewModal: es una ventana modal, no puedes cambiar a otra ventana hasta cerrarla, y el código que lo invoca se queda parado en esa línea. . El código se ejecuta tal y como está escrito, de forma que el programa no llega a la línea del ShowMessage hasta que se cierre la ventana del preview, una vez aceptado el ShowMessage, después se libera el quickreport.

- PreviewModeless: se muestra la ventana pero el código sigue "corriendo", es decir, se muestra el preview y el ShowMessage, es posible que el showmessage se muestre antes porque el el preview tarde en cargar todos los datos. Es más, si aceptamos el ShowMessage con rapidez, debido a que es Modeless, no se verá el informe porque se puede ejecutar la línea qrReport1.Free antes de que se haya mostrado en pantalla el QuickReport.

- Preview: Se comporta como un PreviewModal pero realmente no es una ventana modal al 100 %, es decir, mientras estas viendo el Preview, podrías mover el foco a otra ventana del programa y volver de nuevo a esta. El código se ejecuta como el PreviewModal. Por el hecho de poder pasar el foco a otra ventana, el usuario podría lanzar otra ventana de presentación preliminar y causar errores al crear una ventana que ya existe (hay que tenerlo en cuenta si se usa este método, por ejemplo inhabilitando el botón de mostrar el preview si ya se ha pulsado).

Desde la presentación preliminar, se puede usar el botón imprimir sin importar cual de los 3 métodos anteriores, se haya usado para llamar a dicha presentación.

Incluso sin mostrar la presentación preliminar, puede imprimirse el quickReport por código :
Código Delphi [-]
  // creamos el quickreport y abrimos las consultas
  qrReport1.print;

Yo suelo usar PreviewModal porque es más cómodo para mi, como programador, además si el usuario abre 3 o 4 presentaciones al mismo tiempo, él mismo se marea con tantas ventanas, así le obligo a "seguir un orden de trabajo" .

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 25-01-2007 a las 11:57:40.
Responder Con Cita