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
)
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;
...