救命啊!为什么我用fastreport的内存老是增加?
各位老大,我得fastreport中load的是个大小为6.43k的报表,
里面只有一个全是英文字符的text,
导出的每一个word文件都是28k,
请问:为什么每次循环这个程序所占的内存都会增加400多k?有没有办法不让它增加?
是不是我有什么地方没释放呢?请各位老大救命。
下面是代码
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
RFFRExportDoc: TRFFRExportDoc;
frxReport: TfrxReport;
begin
try
frxReport1.LoadFromFile(ExtractFilePath(Application.ExeName) + 'user_noSql.fr3');
frxReport1.PrepareReport;
for i := 1 to 500 do
begin
try
//frxReport := clone(frxReport1);
frxReport := TfrxReport.Create(nil);
frxReport.LoadFromFile(ExtractFilePath(Application.ExeName) + 'user_noSql.fr3');
frxReport.PrepareReport;
RFFRExportDoc := TRFFRExportDoc.Create(nil);
RFFRExportDoc.OpenAfterGenerate := False;
RFFRExportDoc.ShowDialog := False;
RFFRExportDoc.ShowProgressDialog := False;
RFFRExportDoc.FileName := ExtractFilePath(Application.ExeName) + 'doc\' + inttostr(i) + '.doc';
frxReport.Export(RFFRExportDoc);
finally
frxReport.Clear;
frxReport.CleanupInstance;
RFFRExportDoc.Free;
//frxReport.Free;
frxReport.Destroy;
sleep(1000);
end;
end;
finally
showmessage('finish!');
end;
end;