AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FastIniFiles Memory Leaks

Ein Thema von API · begonnen am 22. Nov 2009 · letzter Beitrag vom 19. Feb 2010
 
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#1

FastIniFiles Memory Leaks

  Alt 22. Nov 2009, 07:14
Hallo

Bin auf FastIniFiles (http://home.arcor.de/smartprog4u/) umgestiegen weil es ein paar nette Funktionen bietet und schneller läuft.
Das Problem: Beim Beenden des Programms gibt es Memory Leaks.

Testcode:

Delphi-Quellcode:
uses
 FastIniFiles;

procedure TForm1.FormCreate(Sender: TObject);
begin
  with TFIniFile.Create('C:\...\test.ini') do
  try
  (*........*)
  finally
    Free;
  end;
end;
Leaks:

Zitat:
----------------------------------------------------------------------------
|+Memory Leak: Type=Data; Total size=32; Count=2 |
|--------------------------------------------------------------------------|
|004AD2E6|Project1.exe|FastIniFiles.pas|TFIniFile| Create |346[92] |
|004AD2FC|Project1.exe|FastIniFiles.pas|TFIniFile| Create |347[93] |
|--------------------------------------------------------------------------|
| |
|+Memory Leak: Type=TFIniValue; Total size=32; Count=2 |
|--------------------------------------------------------------------------|
|004AD361|Project1.exe|FastIniFiles.pas|TFIniFile| Create |354[100]|
|004ACF13|Project1.exe|FastIniFiles.pas|TFIniFile| Create |243[9] |
----------------------------------------------------------------------------
Ein Leak soll gem. Anzeige oben hier auftreten:
Delphi-Quellcode:
constructor TFIniFile.Create(const FileName: string; CommentChar: Char = '#');
var
  Stream: TStream;
begin
  //...
  Self := Create(Stream);
  Stream.Free;
end;
Warum denn? Das Ini File wird ja wieder freigegeben und sobit der Stream auch??

Zudem gibt es noch etliche andere Leaks. Vermutlich in den Destruktoren. Wer findet noch welche?

Genügt z.B das Finalize oder braucht es noch ein for i := Low(Values) to High(Values) do Values[i].Free; ?

Delphi-Quellcode:
destructor TFIniSection.Free;
var
 i: Integer;
begin
  Name := '';
  Finalize(Values);
  inherited Free;
end;
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz