Einzelnen Beitrag anzeigen

Jack and the Juice

Registriert seit: 15. Jan 2011
Ort: Lübeck
52 Beiträge
 
#1

Eigenartige Memory Leaks bei QuickReport

  Alt 26. Jan 2011, 15:44
Hallo zusammen,

zunächst um das vorweg zu nehmen: ich nutze Delphi 2010 und QuickReport 5.

Ich habe mir auf einem Formular einen QuickReport erstellt, der bei Bedarf in PDF oder in XLS exportiert werden soll. Dies funktioniert mit dem folgenden Quelltext auch optimal:

Delphi-Quellcode:
procedure TForm1.alsXLS1Click(Sender: TObject);
var
ExportFilter : TQRXLSFilter;
begin
if savedialog2.Execute then
try
  try
    ExportFilter := TQRXLSFilter.Create(savedialog2.FileName);
    form5.QuickRep1.ExportToFilter(ExportFilter);
  finally
    ExportFilter.Free;
  end;
except
messagedlg('Es ist ein Fehler beim Exportieren aufgetreten.',mtError,[mbOK],0);
end;
end;
und das gleiche für PDF

Delphi-Quellcode:
procedure TForm1.alsPDF1Click(Sender: TObject);
var
ExportFilter : TQRPDFDocumentFilter;
begin
if savedialog1.Execute then
try
  try
    ExportFilter := TQRPDFDocumentFilter.Create(savedialog1.FileName);
    form5.QuickRep1.ExportToFilter(ExportFilter);
  finally
    ExportFilter.Free;
  end;
except
messagedlg('Es ist ein Fehler beim Exportieren aufgetreten.',mtError,[mbOK],0);
end;
end;
Wie gesagt, die Datei wird erstellt, alles ist lesbar und eigentlich so wie ich es haben möchte. Allerdings bekommen ich durch System.ReportMemoryLeaksOnShutdown:=true; bei Beenden der Anwendung folgende Memory Leaks angezeigt.

Bei PDF-Export "An unexpected Memory Leak has occured. The unexpected small block leaks are: 21-28 bytes: TMBCSEncoding x 1"

Bei XLS-Export "An unexpected Memory Leak has occured. The unexpected small block leaks are: 69-76 bytes: TStringList x 2"

Nach Wegklicken der Fehlermeldung bekomme ich in der Entwicklungsumgebung dann die Windows-Fehlermeldung "Programm funktioniert nicht mehr ...". Wenn ich das Programm jedoch als exe laufen lasse, dann bleibt diese letzte Fehlermeldung aus.

Genauso sieht dies übrigens beim "normalen Druck" des QuickReports aus. Der Report wird gedruckt, in der Entwicklungsumgebung bekommen ich allerdings bei Schließen der Anwendung wieder den "Das Programm funktionier nicht mehr"-Fehler.

Vielleicht hat ja jemand schon ähnliche Probleme gehabt, und kann mir ein wenig weiterhelfen.

Vielen Dank schonmal,

jackandthejuice
  Mit Zitat antworten Zitat