¿Y si usan a la misma ventana del preview como variable "booleana"?
Código Delphi
[-]
function IsPreviewActive: Boolean;
var
I: Integer;
begin
Result := false;
for I := 0 to Screen.FormCount - 1 do
if Screen.Forms[i].ClassName = 'TQRStandardPreview' then
begin
Result := true;
break;
end;
end;
Así, al hacer el
preview sólo tienen que examinar el valor de la función:
Código Delphi
[-]
if IsPreviewActive then
ShowMessage('Ya hay una vista preliminar activa')
else
QuickRep1.Preview;
Bye