Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-12-2009
amurrieta amurrieta is offline
Registrado
 
Registrado: feb 2005
Posts: 7
Poder: 0
amurrieta Va por buen camino
Question cerrar preview del quickreport

Hola foro, estoy utilizando quickreport 3.0 y delphi 7, necesito cerrar el preview antes de volver a lanzar otro qreport.preview. Estoy llamando mi reporte desde una formta mdi. Lo cierto es que no puedo cerrar el preview que se despliega, esto es para validar que si el usuario final no oprime el botón cerrar del reporte anterior yo lo cierre desde código y sólo se despliegue siempre un sólo preview. Estoy lanzando mi reporte de esta forma y validando que si está abierto lo libero pero la ventana del preview aún se queda en pantalla, alguien sabe como hacerlo, les agradezco sus respuestas. O en su caso como acceder al botón close del preview para mandarle un click a ese botón?

Código Delphi [-]If ReporEmpresa = nil then Begin ReporEmpresa := TReporEmpresa.Create(self); End Else Begin ReporEmpresa.Free; ReporEmpresa := nil; ReporEmpresa := TReporEmpresa.Create(self) End; ReporEmpresa.Preview; ReporEmpresa.Free;


Gracias.
Responder Con Cita
  #2  
Antiguo 01-12-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Y por que no hacer que el Preview sea Modal? es decir que lo obligue al usuario a cerrarlo para volver al anterior formulario.
Eso se consigue asi:
Código Delphi [-]
...
ReporEmpresa.PreviewModal;
...
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #3  
Antiguo 02-12-2009
amurrieta amurrieta is offline
Registrado
 
Registrado: feb 2005
Posts: 7
Poder: 0
amurrieta Va por buen camino
Gracias por contestar rgstuamigo, mira lo que pasa es que el preview lo pongo dentro de una forma mdi, pero la parte de la izquierda y menú queda disponible y desde ahí puede enviar nuevamente el reporte, por tal motivo quiero validar que aunque el usuario no lo cierre yo lo pueda cerrar por código.

Alguna otra idea?
Responder Con Cita
  #4  
Antiguo 02-12-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Bueno entonces si no se puede por las buenas entonces por las malas.
Vamos a utilizar algunas API de Windows para cerrar la dichosa ventana.
ejemplo:
Código Delphi [-]
procedure TForm1.CerrarClick(Sender: TObject);
var
  hWnd:THandle;
begin
  hWnd:=FindWindow(nil, 'Report Preview : Prueba');//busco el handle de la ventana de previsualizacion
{En el caso tuyo debes poner el Caption que te aparece en la ventana De previsualizacion}
  SendMessage(hWnd,WM_SYSCOMMAND,SC_CLOSE,0);//mando a cerrar dicha ventana
end;
Espero te sea de utilidad.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 03-12-2009 a las 19:50:40.
Responder Con Cita
  #5  
Antiguo 03-12-2009
amurrieta amurrieta is offline
Registrado
 
Registrado: feb 2005
Posts: 7
Poder: 0
amurrieta Va por buen camino
Question

He probado tu solución y si ha funcionado cerrando las ventanas. Agradezco tu ayuda. Mi duda es si esta solución aplica para cualquier version de windows, es decir esa api de windows no cambia para las versiones de vista o win7? Gracias.
Responder Con Cita
  #6  
Antiguo 03-12-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por amurrieta Ver Mensaje
He probado tu solución y si ha funcionado cerrando las ventanas. Agradezco tu ayuda. Mi duda es si esta solución aplica para cualquier version de windows, es decir esa api de windows no cambia para las versiones de vista o win7? Gracias.
Pues no creo que haya problemas...,en todo caso es cuestion de hacer la prueba..
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #7  
Antiguo 11-05-2010
elzorro1957 elzorro1957 is offline
Registrado
 
Registrado: mar 2008
Posts: 2
Poder: 0
elzorro1957 Va por buen camino
Thumbs up Cerrar Ventana Preview

Muchas gracias, me ha sido de mucha utilidad poder cerrar desde el código la ventana con la vista previa del Quick Report.
Responder Con Cita
  #8  
Antiguo 12-05-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por elzorro1957 Ver Mensaje
Muchas gracias, me ha sido de mucha utilidad poder cerrar desde el código la ventana con la vista previa del Quick Report.
Bueno pensandolo bien y viendo éste hilo tambien se podia cerrar la ventana de Preview de ésta manera:
Código Delphi [-]
procedure TForm1.CerrarClick(Sender: TObject);
begin
TQRStandardPreview(QuickRep1.QRPrinter.Client.Parent).ExitButton.Click;
end;
.
Claro está que no hay que olvidarse de incluir la unidad QRPrev en el Uses.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #9  
Antiguo 21-02-2019
tengotutto tengotutto is offline
Registrado
 
Registrado: feb 2019
Posts: 1
Poder: 0
tengotutto Va por buen camino
Control de cierre

A mi me tiraba el error "Illegal call to NewPage" y era porque el usuario cerraba el form antes de terminar de generar la vista previa.


Lo controle en el FormCloseQuery con:



CanClose := (OQRPreVista.QRPrinter.Status <> mpBusy);
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
preview de un quickreport Ulises_Robles Impresión 2 22-05-2008 21:43:25
Imprimir y cerrar preview automaticamente michel_2007 Impresión 2 04-12-2007 19:43:18
Como cerrar preview de QuickReport despues de imprimir AndGaG Impresión 1 11-05-2006 11:30:54
Actualizar Preview del QuickReport ibstk Impresión 3 22-01-2005 14:42:14
necesito cerrar el preview despues de imprimir cristok Impresión 1 13-06-2003 01:35:35


La franja horaria es GMT +2. Ahora son las 15:13:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi