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...