Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Ungeheure Speichernutzung des TWebrowsers beim Laden einer XML

  Alt 15. Okt 2014, 11:00
Den TWebbrowser habe ich nie benutzt, lehne mich aber soweit aus dem Fenster zu behaupten dass der vollkommen fehl am Platz ist.
Wenn du die XML von einer URL laden willst kannst du
  • die Indy-Komponenten verwenden
  • Das XML direkt mittels LoadXmlDocument(..) laden
  • Bestimmt noch anders

Zu 2):
Delphi-Quellcode:
unit Unit2;

interface

uses
   System.Classes,
   Vcl.Forms, Vcl.StdCtrls, Vcl.Controls,
   Xml.XmlIntf;

type
   TForm2 = class(TForm)
      Memo1: TMemo;
      Button1: TButton;
      Button2: TButton;

      procedure Button1Click(Sender: TObject);
      procedure Button2Click(Sender: TObject);

      protected var
         myXmlDocument: IXMLDocument;
   end;

var
   Form2: TForm2;

implementation uses Xml.XmlDoc;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
   myXmlDocument := LoadXMLDocument('http://www.dragonlords.info/dev/big.xml');
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
   Memo1.Lines.Assign(myXmlDocument.XML);
end;

end.

Das Einfügen in die Memo dauert ewig. Ich denke das liegt daran, dass deine 5MB-Datei nur aus einer einzigen Zeile besteht. Selbst Notepad++ bekommt hier Performance-Probleme. Das habe ich bei Notepad++ noch nie gesehen!

Spendier der XML doch Zeilenumbrüche.
  Mit Zitat antworten Zitat