L
LEEMA
Unregistered / Unconfirmed
GUEST, unregistred user!
我在主窗口中有一个Panel, 里面放了一个QuickReport的Preview, 另外我有一个报表的Form,现在我可以做到将该报表
的预览放在Preview中,但是在主窗口中关闭该Preview时,原报表的Form并未从内存中释放,请问有谁知道该如何将该报表
释放掉呢?
┏━━━━━━━━━━━━━━┓
┃ 主窗口 ┃
┃ ┏━━━━━━━━━┓┃
┃ ┃ ┃┃
┃ ┃ 报表预览窗口 ┃┃
┃ ┃ ┃┃
┃ ┃ ┃┃
┃ ┃ ┃┃
┃ ┃ ┃┃
┃ ┃ ┃┃
┃ ┗━━━━━━━━━┛┃
┗━━━━━━━━━━━━━━┛
我的方法如下:
在MainForm中有一个全局变量CurrentRep: TQuickRep;
在报表FORM中有一个Report;它的OnPreview事件如下:
procedure TDirectPrintForm.ReportPreview(Sender: TObject);
begin
MainForm.QRPreview1.QRPrinter := TQRPrinter(Sender);
MainForm.CurrentRep := Report;
end;
在报表FORM中执行Report.Preview后将在主窗口的QRPreview1中进行预览, 如下。
function OpenReport: Boolean;
begin
with TDirectPrintForm.Create(Application)do
try
........
Report.Preview;
//预览
finally
free;
//程序执行不到这一步,除非主程序关闭,该怎么办?
end;
end;
在MainForm中将CurrentRep := nil不管用。
有谁知道该怎么办,最好给出一个完整的方法。
的预览放在Preview中,但是在主窗口中关闭该Preview时,原报表的Form并未从内存中释放,请问有谁知道该如何将该报表
释放掉呢?
┏━━━━━━━━━━━━━━┓
┃ 主窗口 ┃
┃ ┏━━━━━━━━━┓┃
┃ ┃ ┃┃
┃ ┃ 报表预览窗口 ┃┃
┃ ┃ ┃┃
┃ ┃ ┃┃
┃ ┃ ┃┃
┃ ┃ ┃┃
┃ ┃ ┃┃
┃ ┗━━━━━━━━━┛┃
┗━━━━━━━━━━━━━━┛
我的方法如下:
在MainForm中有一个全局变量CurrentRep: TQuickRep;
在报表FORM中有一个Report;它的OnPreview事件如下:
procedure TDirectPrintForm.ReportPreview(Sender: TObject);
begin
MainForm.QRPreview1.QRPrinter := TQRPrinter(Sender);
MainForm.CurrentRep := Report;
end;
在报表FORM中执行Report.Preview后将在主窗口的QRPreview1中进行预览, 如下。
function OpenReport: Boolean;
begin
with TDirectPrintForm.Create(Application)do
try
........
Report.Preview;
//预览
finally
free;
//程序执行不到这一步,除非主程序关闭,该怎么办?
end;
end;
在MainForm中将CurrentRep := nil不管用。
有谁知道该怎么办,最好给出一个完整的方法。