Und da du dir so den try..finally-Block komplett schenken kannst. Beim Verlassen der Methode wird das IXmlDocument dann automatisch freigegeben.
Genau das war die initiale Frage. Meine Gedanken waren:
Variable ist nur innerhalb der Methode gültig -> Daher sollte das Interface beim Verlassen der Methode keinen gültigen Zeiger mehr haben -> Interface wird aufgeräumt, auch ohne Doc := nil, korrekt?
PS: Wozu ist das "Active" eigentlich gut? Ich habe das noch nie verwendet...
Hatte mich da strikt an die
RAD Studio
VCL Reference gehalten:
Zitat:
Specifies whether the
XML document has been parsed so that the
DOM interfaces are available to examine or change its contents.
Before you can use IXMLDocument to examine or change the contents of an
XML document, it must be active. Setting Active to true results in the parsing of the
XML document specified by the FileName property or by the
XML property. If both FileName and
XML are empty strings, Setting Active to true causes IXMLDocument to represent an empty document.
Active must be true before you can
access the DOMDocument or DocumentElement properties.
http://docwiki.embarcadero.com/Libra...ocument.Active
Verwendet man anstelle von TXMLDocument.Create direkt NewXMLDocument, dann kann man sich das .Active auch sparen.