-
Forum: XML
Delphi
by Hoschie,
8. Mär 2008
Moin allerseits,
ich habe jetzt herausgefunden, das die direkte Speicheranzeige der Anwendung zwar beim minimieren zurückgesetzt wird, aber die Zuordnung wird nicht aufgehoben und der Speicher läuft voll bis nichts mehr geht.
Hat jemand eine Idee, wie ich den Speicher freigeben kann ohne den WebBrowser auf free zu setzen ?
Gruß
Hoschie
-
Forum: XML
Delphi
by Hoschie,
7. Mär 2008
Moin Moin,
habe die Rekursion erstmal so gelöst (und damit rausgenommen), dass ich mir als erstes eine StringList mit den Url erzeuge. Ich habe vor diese dann nacheinander abzuarbeiten, wie es marabu auch vorgeschlagen hat. Mal sehen, vielleicht schaffe ich es heute nachmittag noch, das zu implementieren.
Gruß Hoschie
Edit: Habe alles implementiert, sodass die Rekursion jetzt wegfällt....
-
Forum: XML
Delphi
by Hoschie,
6. Mär 2008
Guten Morgen,
Die weiterschaltung passiert durch die veränderten x und y Variablen, da die Seiten durch GET Parameter, ähnlich einem Koordinatensystem aufgrufen werden.
Das ganze soll eigentlich solange laufen, bis alle Seiten einmal aufgerufen wurden. Daher auch das hochzählen der Variablen, das sind dann genau die Seiten die ich benötige. Ich übergebe also da, wo www.url.de steht im...
-
Forum: XML
Delphi
by Hoschie,
5. Mär 2008
Gibt es denn eine andere Möglichkeit ? Das schockt mich jetzt doch etwas. wie kann ich denn sonst sicherstellen, dass er die nächste seite erst aufruft, wenn die alte abgearbeitet wurde.
-
Forum: XML
Delphi
by Hoschie,
5. Mär 2008
Jo, ich wollte damit sicherstellen, dass die nächste Seite erst aufgerufen wird, sobald die alte Seite abgehandelt wurde. das ganze läuft solange, bis ich über den "Stoppen" Button die Variable vScannen auf False setze.
Meinst du es liegt daran ?
-
Forum: XML
Delphi
by Hoschie,
5. Mär 2008
OK, also dann mal los. Ich schilder kurz nochmal die Funktion und den Fehler: Das Programm soll nacheinander und ohne Zwischenpause bestimmte XML Webseiten aufrufen, ein Element Lehrgang und dessen Unterelemente in einer XML-File speichern, wobei die verschiedenen Lehrgangselemente in einer Datei zusammengeführt (immer angehängt) werden. Das Programm läuft, jedoch unterbricht es nach...
-
Forum: XML
Delphi
by Hoschie,
5. Mär 2008
Im Endeffekt habe ich mit dem reinstellen kein Problem, das einzige was nicht public werden darf ist die Webadrese, allerdings ist es nicht das beste und schönste, denn das rund und "hübsch" machen wollte ich erledigen, wenn alles so läuft wie es soll. Soll ich das Projekt einfach hier reinstellen ??
Gruß
Hoschie
-
Forum: XML
Delphi
by Hoschie,
5. Mär 2008
Also ich habe das jetzt mal mit MemCheck durchgecheckt, aber so wirklich werde ich dadurch nicht schlau.
MemCheck version 2.75
TOP 10 Leaks: begin
Leak #0 User allocated memory (GetMem)
Size: 102
1 Occurence
call stack - 0 : (no debug info) Find error: 0012F53C
call stack - 1 : Routine @Sysutils@Exception@CreateFmt Find error: 0040C565
-
Forum: XML
Delphi
by Hoschie,
5. Mär 2008
Was durchaus sehr wahrscheinlich ist und ich das ganze nicht absprechen möchte, weil ich dafür vieeeel zu wenig Ahnung habe. Es sah für mich nur eben nach einem direktem Zusammenhang mit dem aufrufen der Seiten auf, weil die Speichermenge in dem Moment stieg, als er die neue Seitee geladen hat, Aber ich werde versuchen das ganze möglichst einzugrenzen mit dem MemCheck.
Trotzdem bin allen...
-
Forum: XML
Delphi
by Hoschie,
5. Mär 2008
Es wäre ja schon von Vorteil, wenn er den reservierten Bereeich nur überschreibt und nicht ständig erweitert. Ich werde das heute Abend mal antesten und dann melden.
Gruß
Hoschie
-
Forum: XML
Delphi
by Hoschie,
5. Mär 2008
Dadurch das ich ja gleich nach der Abbarbeitung die nächste Webseite aufrufe habe ich ja keine Möglichkeit den Speicher des Dokumentes mit aufruf der Seite about:blank freizugeben. Aber wenn alles automatisch freigegeben wird, wie erkläre ich mir dann den horenden Speicherbedarf, der mit jeder aufgrufenen Seite anwächst.
Gruß
Hoschie
-
Forum: XML
Delphi
by Hoschie,
5. Mär 2008
Also ich habe nach 128 aufgerufenen XML Seiten so an die 260.000 Kb gemäß dem TaskManager, da ist es ja kein wunder, dass die Anwendung sich irgendwann aufhängt. Ich befürchte, dass ich irgendwie das WebBrowser Dokument wieder freigeben muss, bevor ich erneut darauf zugreife. Nur wie weiss ich noch nicht. Irgendwelche Tipps ?
Ich werde heute Abend mich mal an MemCheck ranwagen.
Kann ich...
-
Forum: XML
Delphi
by Hoschie,
4. Mär 2008
Moin und Danke,
zur Frage: ja, in jeder Datei ist nur ein Element Lehrgang drin und innerhalb des Elementes sind dann mehrere Childs.
Es läuft auch soweit, recht gut, nur nach unbestimmter Zeit bleibt er hängen. Ich habe dann versucht, das so zu machen, dass ich den Speicher der Variablen dann mit free wieder freigebe, allerdings kennt er das mal wieder nicht und in der MSXML_TLB habe ich...
-
Forum: XML
Delphi
by Hoschie,
3. Mär 2008
Moin Moin,
ich habs rausgefunden. Und geholfen hat mir dabei zusätzlich zu marabus sehr guten Anregungen ein wiederholtes, intensives Lesen, des XML-Tutorials.
Mein Code:
try
fnNew:=('c:\Scan.xml'); // Datei zum speichern
u:=GetXMLDocument(WebBrowser1.Document); // XML Quelle
xd:=u.selectSingleNode('/root/data/Lehrgang'); // Benötigtes Element
-
Forum: XML
Delphi
by Hoschie,
2. Mär 2008
Hmmm,
aber ich habe in der Variablen xd
xd:=u.selectSingleNode('/root/data/Lehrgang');
schon das Element Lehrgang drin (oder?). Das will ich jetzt nur noch anhängen. Die Zieldatei sieht im Moment so aus
<root>
<data>
<Lehrgang></Lehrgang> // hier sollen die anderen angehängt werden.
-
Forum: XML
Delphi
by Hoschie,
2. Mär 2008
Hi,
also ich habe das jetzt mal versucht umzusetzen und habe folgenden Code geschrieben
if FileExists (fnNew) then // Prüfung ob File vorhanden
begin
xdNew.loadXML(fnNew); // File laden
xdNew.appendChild(xd); // Neue daten anfügen
xdNew.save(fnNew); // File wieder speichern
-
Forum: XML
Delphi
by Hoschie,
2. Mär 2008
Äh Hi, :oops: :oops:
:wall:
Entschuldige, von Blindheit geschlagen, aber ein Beweis fürs nicht einfach nur kopieren :roll: .
Darf ich noch Fragen, wie ich jetzt weitere Daten in der Datei anhänge, also in dieselbe Datei reinschreibe. So in der Art Append bei Stringbehandlung ?
Und dann sollte es das gewesen sein.
-
Forum: XML
Delphi
by Hoschie,
2. Mär 2008
OK, es will nicht funktionieren.
Hier mal mein Quellcode :
// in der Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw_TLB, ActiveX, MSXML2_TLB;
// Prozedur mit Fehler
-
Forum: XML
Delphi
by Hoschie,
2. Mär 2008
Ich werde es gleich nachher mal ausprobieren.
Lob und Anerkennung für Deine Geduld und Deine Mühen(vor allem der Geduld :-D ).
Gruß
Hoschie
-
Forum: XML
Delphi
by Hoschie,
2. Mär 2008
Moin,
also im Uses habe ich die MSXML2_TLB drin, sonst würde er doch auch die IXMLDOMDocument nicht kennen, oder ? Bin etwas verwirrt jetzt, aber das ist nicht unnormal :-D
Gruß
Hoschie
-
Forum: XML
Delphi
by Hoschie,
1. Mär 2008
Ich habe aus dem Link, den du gepostet hast nach der Anweisung dort die MSXML2_TLB eingebunden.
-
Forum: XML
Delphi
by Hoschie,
1. Mär 2008
Ich versuche das gerade mal auf mich umzusetzen allerdings funktioniert dies hier nicht:
xdOld := CoDomDocument.Create;
xdOld.async := False;
xdNew := CoDomDocument.Create;
xdNew.async := False;
Er hat auch gar nicht CoDomDocument in der Programmierhilfe.
Gruß
-
Forum: XML
Delphi
by Hoschie,
1. Mär 2008
Und wieder ich :-D
Schön sind die Varianten alle :thumb:
Nochmal zum Verständnis, sorry wenn das etwas stümperhaft klingt:
Ich hole mir eine XML Datei aus dem Web, die lade ich so, wie du es mir in dem anderen Post mal vorgeschlagen hast :
doc := WebBrowser1.Document;
ws := doc.XMLDocument.XML;
-
Forum: XML
Delphi
by Hoschie,
1. Mär 2008
Jo, gibt nur eins und in dem Element Lehrgänge sind dann viele Unterelemente, und genau die benötige ich :-D
Das beste wäre, wenn am Ende sämtliche Unterlemente der Lehrgänge in einer neuen Datei zusammengelegt werden.
Gruß
Hoschie
Edit:
-
Forum: XML
Delphi
by Hoschie,
1. Mär 2008
Habt Ihr vielleicht ein paar Tipps, wie ds mit dem Wrapper funktioniert ? Ich denke nicht, dass die 2005 PE mit MSXML Unit ohne weiteres läuft, jedenfalls kennt er die nicht. Die Suche konnte mir da nicht weiterhelfen, oder habe ich etwas übersehen ?
Und habt ihr vielleicht dazu noch was :
Gruß
Hoschie