![]() |
EStringListError ListView+XML
Hi! Dieser Code unten bricht sich selbst mit einem EStringListError: Listenindex überschreitet das Maximum (0) ab.
Delphi-Quellcode:
XMLFile ist vom Typ TJvSimpleXML der Jedi-Komponenten, DataList ist eine TListView. Warum funktioniert das so nicht? Ich habe das Problem schon einmal gelöst, indem ich eine neue Variable erstellt habe, die die Anzahl der Einträge in der Liste enthielt. Aber diese Lösung ist nicht sehr elegat und funktioniert inzwischen nach einigen Änderungen im Programm nicht mehr.
var
e: TJvSimpleXMLElem; i: Integer; begin if FileExists(WorkDir+DATABASE_FNAME) then DeleteFile(WorkDir+DATABASE_FNAME); try for i:=0 to DataList.Items.Count-1 do begin e := XMLFile.Root.Items.Add('ID='+IntToStr(i+1)); e.Items.Add('path', DataList.Items[i].SubItems[0]); e.Items.Add('title', DataList.Items[i].SubItems[1]); e.Items.Add('artist', DataList.Items[i].SubItems[2]); e.Items.Add('album', DataList.Items[i].SubItems[3]); e.Items.Add('year', DataList.Items[i].SubItems[4]); e.Items.Add('genre', DataList.Items[i].SubItems[5]); end; except end; XMLFile.SaveToFile(WorkDir+DATABASE_FNAME); |
Re: EStringListError ListView+XML
In welcher Zeile tritt denn der Fehler auf? Und die Meldung ist ja wohl ziemlich deutlich. Bau eben eine Überprüfung ein.
|
Re: EStringListError ListView+XML
:duck: Ahhh! Der Compiler zeigt keine Zeile an, aber den Fehler habe ich trotzdem gefunden. Einige SubItems der Liste existieren nämlich nicht! :drunken: :wall: :wall: Das war schon alles!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:10 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