Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#12

Re: temporäre Interfaces sofort freigeben?

  Alt 4. Jan 2010, 13:57
Zitat von Alaitoc:
Ah gut, ja das ist dann wirklich Pech...hm naja ich würds so machen denk ich:
nur wenn es drauf ankommt, dann denkt keiner an Node2 und es kommt nur noch das bei raus
Delphi-Quellcode:
procedure Test;
  var XML: IXMLDocument;
    Node: IXMLNode;

  begin
    XML := coDOMDocument60.Create;
    try
      XML.Version := '1.0';
      XML.StandAlone := 'yes';
      XML.Encoding := 'UTF-8';
      XML.AddChild('xml');
      Node := XML.DocumentElement;
      for i := 0 to 9999 do
        Node.AddChild(IntToStr(i));
    finally
      Node := nil;
      XML := nil;
    end;
  end;
theoretisch würde es auch so laufen
Delphi-Quellcode:
procedure Test;
  var XML: IXMLDocument;
    Node: IXMLNode;

  begin
    XML := coDOMDocument60.Create;
    XML.Version := '1.0';
    XML.StandAlone := 'yes';
    XML.Encoding := 'UTF-8';
    XML.AddChild('xml');
    Node := XML.DocumentElement;
    for i := 0 to 9999 do
      Node.AddChild(IntToStr(i));
  end;
Hier steckt ja nun alles in einer kleinen Prozedur, aber wenn die Variablen mal länger leben, dann könnte es schon auffallen.

Insgesamt sind diese Prozeduren (samt deiner) etwa gleich schnell und brauchen auch gleich viel Arbeitsspeicher,
aber wo ich dann messen wollte, welcher Schritt wie lange braucht und Dergleichen, da kam halt nur Mist raus.

Zitat von Alaitoc:
Edit: Ach und ganz wichtig von wegen msXML.DocumentElement.AddChild ! Law of Demeter Da gehe ich zumindest immer nach *g*, außer es geht halt wirklich nicht anders...
Werd ich mir mal anschauen, auch wenn ich selber MSXML aktuell nur noch für Versuchszwecke nutze.
[edit]
ach, das gilt allgemein ... na mal sehn, ob ich mir das auch noch Merke
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat