Einzelnen Beitrag anzeigen

samso

Registriert seit: 29. Mär 2009
439 Beiträge
 
#2

Re: MSXML und seine Speicherverwaltung?

  Alt 29. Dez 2009, 18:46
Geht es so?:

Delphi-Quellcode:
msRoot := msXML.AddChild('xml');
For i := 0 to 9999 do Begin
  msNode := msRoot.AddChild(Node_IntToStr[i]);
  msNode := nil;
End;
msXML.SaveToFile(ChangeFileExt(ParamStr(0), '.Test1_MSXML.xml'));
msRoot := nil;
msXML := nil //<- Hier würde ich jetzt das freigeben erwarten
N.B. Zu der Änderung "AppendElement". Dies bezieht sich auf meine geänderte Version von SimpleXML.pas. Bei der alten Version wurde per Default eine globale Namenstabelle benutzt. Das fand ich nicht so toll, weil verschiedene XML-Dateien ja nun nicht unbedingt die gleichen Namen benutzen. Bei meiner Version wird mit einem neuen Dokument auch eine neue Namenstabelle angelegt. Wenn nun ein Element "offline" erzeugt wird, erhält dieses Element eine eigene Namenstabelle. Beim Einhängen des Knotens werden dann die beiden Namenstabellen zusammen geführt. Ein unnötiger Schritt, der bei "AppendElement" vermieden wird. Aber wie gesagt - bezieht sich auf meine Version und nicht auf das Original aus dem Jahr 2003.
  Mit Zitat antworten Zitat