![]() |
Probleme mit XML Tutorial
Hallo zusammen,
hat irgendjemand schon mal das XML Tutorial von Chakotay so wies is durchgespielt? Kann mir evtl. einer den Source mal schicken, irgendwie hab ich Probleme das ans laufen zu kriegen. :? Wahrscheinlich find ich bloss meine eigenen Tippfehler nich. Ich denke wenn einer zufällig den Source so hat, dann brauch ich hier nich meinen ganzen Source posten. Danke im Voraus. Gruss p0ke |
Re: Probleme mit XML Tutorial
Hi,
sorry, wenn noch einige Fehler drin sind! Ich habe zwar versucht alle Fehler rauszumergeln, aber gelingt leider nicht immer (auch nicht beim 1. Tutorial). Wenn du mir genau sagst, was nicht funktioniert, kann ich dir vielleicht helfen, ansonsten lohnt sich auch ein Blick in den ![]() Chris |
Re: Probleme mit XML Tutorial
Grundsätzlich schonmal super das du dich hingesetzt hast ein Tutorial zu schreiben. Verstehe jetzt auf jeden Fall viel mehr.
In der Update Prozedur raff ich nich wie das mit dem
Code:
klappen soll. Bei mir motzt er immer an das er die [ erwartet.
for j:=0 to length(NAMES)-1 do begin
Aber in Fehleranalyse war ich schon immer schlecht und im abtippen sowieso :) mfg p0ke |
Re: Probleme mit XML Tutorial
Hi,
:gruebel: hm... also ich kann das morgen nochmal probieren (jetzt isse's a bisser'l spät), aber rein theoretisch müsste das funktionieren, da ich den Teil sowieso getestet habe. *denk* Chris |
Re: Probleme mit XML Tutorial
Zitat:
Dann schlaf mal schön ;D p0ke |
Re: Probleme mit XML Tutorial
Zitat:
Also: Die o.g. Codezeile selber ist beinhaltet keinen unmittelbaren Fehler. Kannst Du bitte mal Deine komplette Routine hier veröffentlichen, in der sich diese Zeile befindet? Vermutlich werden wir dann den Fehler rasch ausfindig machen können. |
Re: Probleme mit XML Tutorial
Zitat:
Zitat:
Ich vermute einfach nur, dass du versehentlich an dem Array rumgespielt hast. ;) Denn sonst müsste es (und das tut es bei mir auch) funktionieren. :gruebel: Chris |
Re: Probleme mit XML Tutorial
Oh, der Chef persönlich..... :)
Hier die komplette Prozedur:
Code:
Das einzigste was zum Tutorial abweicht ist das ich nur 3 Felder hab statt 9
procedure TMainForm.UpdateList;
const NAMES: array[0..2] of string = ('name', 'format', 'ton'); var movies: IXMLDOMNodeList; subNode: IXMLDOMNode; i, j: integer; begin MovieList.Items.Clear; MovieList.Items.BeginUpdate; movies:=xmlDoc.documentElement.selectNodes('movie'); for i:=0 to movies.length - 1 do begin subNode := movies.item[i].selectSingleNode('id'); MovieList.Items.Add; MovieList.Items[i].Caption := subnode.text; with MovieList.Items[i].SubItems do begin for j:=0 to length(NAMES)-1 do begin subNode := movies.item[i].selectSingleNode(NAMES[j]); if subNode <> nil then Add(subNode.Text) else Add(''); end; end; end; MovieList.items.endupdate; end; mfg p0ke |
Re: Probleme mit XML Tutorial
Du könntest mal in der Zeile
Delphi-Quellcode:
den Mauscursor auf das "NAMES" halten und abwarten. Dann siehst du, dass dieser Begriff fälschlicherweise als Methode/Eigenschaft von TStrings angegeben wird. Das dürfte mit dem with davor zusammenhängen. Entweder verwendest du also einen anderen Namen als "NAMES", oder du verzichtest auf das with.
for j:=0 to length(NAMES)-1 do begin
|
Re: Probleme mit XML Tutorial
Zitat:
Tu, was ich da gesagt habe, und es wird klappen. CU Andreas |
Re: Probleme mit XML Tutorial
Danke für die Tips
Ich selber arbeite nie mit with, nur wollte ich gerne das Tutorial so wies is durcharbeiten. Naja. Chak wird das jetzt sicher nochmal ordentlich machen :) p0ke |
Re: Probleme mit XML Tutorial
Hi,
Zitat:
Chris |
Re: Probleme mit XML Tutorial
Zitat:
Bisher ist mir so was (ich nenn´s mal einen Zufall) noch nicht passiert, darum verwende ich with immer, wenn ich was (wie du auch im anderen Thread geschrieben hast) verkürzen will. |
Re: Probleme mit XML Tutorial
Erstmal vorweg: Ein super Tutorial. *respekt*
Eine genaue Lösung gab es bei diesem Problem noch nicht, oder? Oder hab ich das einfach nciht erlesen können ? Habe nämlich das gleiche Problem ;)
Delphi-Quellcode:
procedure TMainForm.UpdateList;
Const NAMES: array[0..8] of String = ('name', 'format', 'ton', 'anzmedien', 'bildqualität', 'tonqualität', 'gesamt', 'verliehen', 'comment'); Var movies : IXMLDOMNodeList; subNode: IXMLDOMNode; i, j : integer; begin Movielist.Items.Clear; MovieList.Items.BeginUpdate; movies := xmlDoc.documentElement.selectNodes('movie'); for i:=0 to movies.length -1 do begin subNode:=movies.item[i].selectSingleNode('id'); MovieList.Items.Add; Movielist.Items[i].Caption := subNode.text; with Movielist.Items[i].SubItems do begin for j:=0 to length(NAMES)-1 do begin subNode := movies.item[i].selectSingleNode(Names[j]); if subNode <> nil then Add(subNode.text) else Add(''); end; end; end; movielist.Items.EndUpdate; end;
Delphi-Quellcode:
! "[" erwartet, aber ")" gefunden, ist der Fehler.
for j:=0 to length(NAMES)-1 do begin
Und wenn ich mit der Maus auf dem NAMES bleibe, dann gibt er mir
Code:
als info aus. Kann mir da jemand helfen ? Wäre sehr nett.
prop TStrings.Names: [Index:Integer]: String - classes.pas (518)
|
Re: Probleme mit XML Tutorial
Hi,
danke für das Lob. Ja, das ist ein Fehler im Tutorial, aber derzeit komme ich nicht dazu das zu ändern. Du musst folgende Schleife:
Delphi-Quellcode:
komplett ersetzen durch:
with Movielist.Items[i].SubItems do begin
for j:=0 to length(NAMES)-1 do begin subNode := movies.item[i].selectSingleNode(Names[j]); if subNode <> nil then Add(subNode.text) else Add(''); end; end;
Delphi-Quellcode:
Chris
for j:=0 to length(NAMES)-1 do begin
subNode := movies.item[i].selectSingleNode(Names[j]); if subNode <> nil then Movielist.Items[i].SubItems.Add(subNode.text) else Movielist.Items[i].SubItems.Add(''); end; end; |
Re: Probleme mit XML Tutorial
@Chris: Das ist kein Fehler. Es ist, wie ich schon sagte, ein dummer Zufall durch die Verwendung von "with":
Zitat:
|
Re: Probleme mit XML Tutorial
Danke schön, komme da auch nun schon weiter. Das nächste Problem ist aber auch schon wieder aufgetreten.
Werde es aber in dem dazugehörigen Threat posten :wink: , wenn ich es nicht selbst auf die Reihe bekommen sollte |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz