Ver Mensaje Individual
  #14  
Antiguo 25-01-2007
aladelta aladelta is offline
Miembro
 
Registrado: jul 2003
Posts: 70
Reputación: 21
aladelta Va por buen camino
Hola a todos:

Si no he entendido mal, a mi me pasaba lo mismo a la hora de crear los reports. Y venga a darme el follon con el error de que elcomponente ya existe...

Yo lo tengo solucionado de la siguiente forma y te lo comento por si te puede valer y te ayuda..mira...

Descrubri, aunque sea obvio, que aunque pulses cerrar en la ventana del preview del report, realmente el componente no se destruye, y tenemos el problema, en el boton de crear el preview tengo esta llamada a una funcion que me busca el componente y si existe lo recupera y lo muestra de nuevo, de esta manera me evito tener que crearlo de nuevo y el error, ademas, puedes cerrar o minimizar la ventana para despues recuperarla de nuevo

Código Delphi [-]
      if not buscaqr('qrevolutivo',wsmaximized) then qrevolutivo.PreviewModeless;

y la funcion de busqueda hace esto
Código Delphi [-]
function Tmaster.buscaqr(buscar:string;wstate:TwindowState):boolean;
var i:integer;
begin
  result:=false;
  for i:=0 to Screen.FormCount-1 do
  begin
    if pos('QRStandardPreview',Screen.Forms[i].Name)>0 then
      if TQuickrep(TQRPreview(Screen.Forms[i].controls[4]).qrprinter.parentreport).name=buscar then
        begin
          Screen.Forms[i].WindowState:=wstate;
          result:=true;
          exit;
        end;
  end;
end;

prueba esta idea, y ya comentas por si tengo errores....

Un saludo...
Responder Con Cita