AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Laden eines größeren IXmldocument-keine Reaktion des Prog.
Thema durchsuchen
Ansicht
Themen-Optionen

Laden eines größeren IXmldocument-keine Reaktion des Prog.

Ein Thema von Fritzmaier · begonnen am 20. Aug 2007 · letzter Beitrag vom 21. Aug 2007
Antwort Antwort
Fritzmaier

Registriert seit: 30. Okt 2004
53 Beiträge
 
#1

Laden eines größeren IXmldocument-keine Reaktion des Prog.

  Alt 20. Aug 2007, 21:29
Zitat:
Bevor der Inhalt eines XML-Dokuments mittels IXMLDocument geprüft oder geändert werden kann, müssen Sie das Dokument aktivieren.
aus meinem Code:

myXML.LoadFromFile(opendialog1.FileName);
application.ProcessMessages;
myxml.Active:=true;
application.ProcessMessages;

während dies abläuft, reagiert der Rechner de facto nicht. Läßt sich da was machen ?
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Laden eines größeren IXmldocument-keine Reaktion des Pro

  Alt 20. Aug 2007, 21:36
Du kannst das Laden des XML-Objekts (sprich speziell den Aufruf von LoadFromFile / Active := True etc.) in einen Thread auslagern. Deine .ProcessMessage() Aufrufe bewirken hier recht wenig.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Laden eines größeren IXmldocument-keine Reaktion des Pro

  Alt 20. Aug 2007, 21:48
frage: wie groß ist denn dein xml dokument?
  Mit Zitat antworten Zitat
Fritzmaier

Registriert seit: 30. Okt 2004
53 Beiträge
 
#4

Re: Laden eines größeren IXmldocument-keine Reaktion des Pro

  Alt 21. Aug 2007, 16:51
3,6 MB
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Laden eines größeren IXmldocument-keine Reaktion des Pro

  Alt 21. Aug 2007, 17:05
Solange du den gesammten DOM der XML-Datei lädst dauert es halt seine Zeit. XML ist nicht gerade ressourcenschonend.

Brauchst du alles in der XML-Datei oder nur einen kleinen Auszug?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Fritzmaier

Registriert seit: 30. Okt 2004
53 Beiträge
 
#6

Re: Laden eines größeren IXmldocument-keine Reaktion des Pro

  Alt 21. Aug 2007, 17:19
brauche alles. Das Laden dauert ca. 45 Sekunden. Die Daten werden u.a. in einer treeview angezeigt. Leider hängen (manchmal) dann andere Anwendungen in dieser Zeit, z.B. Firefox.

Hätte noch eine andere Frage: Wie läßt sich eine Progressbar über den Ladefortschritt realisieren (abhängig von der Zahl der Tags) ?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Laden eines größeren IXmldocument-keine Reaktion des Pro

  Alt 21. Aug 2007, 17:36
Zitat von Fritzmaier:
brauche alles. Das Laden dauert ca. 45 Sekunden. Die Daten werden u.a. in einer treeview angezeigt. Leider hängen (manchmal) dann andere Anwendungen in dieser Zeit, z.B. Firefox.
Andere Anwendungen hängen weil Windows den Taskwechsel nicht mehr richtig hinbekommt. Du könntest die Priorität während des ladens verringern

Zitat von Fritzmaier:
Wie läßt sich eine Progressbar über den Ladefortschritt realisieren (abhängig von der Zahl der Tags) ?
Und woher willst du die Zahl der Tags bekommen bzw. wieviel Tags der PC pro Sekunde schaft?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Fritzmaier

Registriert seit: 30. Okt 2004
53 Beiträge
 
#8

Re: Laden eines größeren IXmldocument-keine Reaktion des Pro

  Alt 21. Aug 2007, 17:49
nach der Zahl der Tags zielt ja meine Frage...

merke grade, daß ich mich ungenau ausgedrückt habe: Das eigentl. Laden dauert nicht so lange, sondern das anschließende Auswerten und Anzeigen in der treeview...

habe ich nach dem Laden (also nachdem myxml.Active:=true; abgearbeitet ist) irgendwo die Tagzahl oder vergleichbares abrufbar, um damit den Fortschritt der anschließenden Auswertung anzuzeigen ?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Laden eines größeren IXmldocument-keine Reaktion des Pro

  Alt 21. Aug 2007, 18:01
Zitat von Fritzmaier:
merke grade, daß ich mich ungenau ausgedrückt habe: Das eigentl. Laden dauert nicht so lange, sondern das anschließende Auswerten und Anzeigen in der treeview...
Arbeitest du mit BeginUpdate/EndUpdate. Kann die Sache ziemlich beschleunigen...
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz