No sé que versiones estáis usando, pero la manera más simple es diciendo a QuickReport que vas a usar tu propia clase para previsualizar:
1º- RegisterPreviewClass(TQRCustomPreviewInterface); le dice a QuickReport qué clase tiene que crear para previsualizar los informes.
2º- Por supuesto tu clase tiene que heredar de TQRPreviewInterface. y ya QR llamará a Show o ShowModal (según el usuario utilice qr.Preview o qr.PreviewModal).
Código Delphi
[-]
TQRCustomPreviewInterface = class(TQRPreviewInterface)
private
public
function Show(AQRPrinter: TQRPrinter): TWinControl;
function ShowModal(AQRPrinter : TQRPrinter) : TWinControl; override;
end;
implementation
function TQRCustomPreviewInterface.ShowModal(AQRPrinter: TQRPrinter): TWinControl;
var
frm : TPrevForm ;
begin
frm := TMiPresentacionPreliminar.Create( Application ) ;
frm.Prev.QRPrinter := AQRPrinter ;
frm.ShowModal ;
frm.Free;
end;
initialization
RegisterPreviewClass(TQRCustomPreviewInterface);
A mí me funciona.
Saludos