Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi FastMM IXMLDocument und memory leaks (https://www.delphipraxis.net/181449-fastmm-ixmldocument-und-memory-leaks.html)

michele_tedesco 15. Aug 2014 12:58

FastMM IXMLDocument und memory leaks
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Zusammen

Ich habe seit gestern FastMM an eine legacy Delphi7 Applikation hinzugefügt, um diese bei der Portierung nach XE5 auch auf memory leaks zu prüfen.
Beim umschreiben eines XML Exports habe ich brav das IXMLDocument Interface verwendet, um ein sauberes memory management zu haben.

Jedoch erhalte ich Zahlreiche leak-Meldungen von FastMM. Ein Log-File ist im Anahng (Musste das File ein wenig abspecken :zwinker: )

Könnt ihr mir sagen, welchen Teil ich nicht verstanden habe beim gebrauchen eines interfaces? Ich bin davon ausgegangen, dass dann die Objekte sauber disposed werden.

Hier eine Beispiel-Methode, zur Erzeugung eines neuen Child-node:

Delphi-Quellcode:
type TXMLdoc = class (TObject)
  public
    XMLdoc    : IXMLdocument;
    RootNode  : IXMLnode;
    ActualNode : IXMLnode;

...
implementation
...
procedure TXMLdoc.WriteString (aName : STRING;
                               aValue : STRING);
begin
  try
    ActualNode.AddChild(aName).Text := aValue;
  except
    ON E:Exception do RaiseError(E.Message);
  end;
end;
...

TiGü 15. Aug 2014 13:12

AW: FastMM IXMLDocument und memory leaks
 
Zeige uns mal die Stelle, wo du deine Klasse TXMLdoc freigibst.

michele_tedesco 15. Aug 2014 15:01

AW: FastMM IXMLDocument und memory leaks
 
Sorry für die falsche Error-Frage.
Vor lautem Debuggen habe ich nicht gesehen, dass ich meine Helper-Klasse nicht freigegeben habe :-(

Problem und memory leaks haben sich gelöst.

Dejan Vu 15. Aug 2014 15:16

AW: FastMM IXMLDocument und memory leaks
 
Manchmal hat man nur ein blödes Leck aber MB-weise logfiles von FastMM. Fang einfach immer oben an. Dann dampft sich die Datei sehr schnell auf ein paar kb (VCL leaks)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz