Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi EStringListError ListView+XML (https://www.delphipraxis.net/92284-estringlisterror-listview-xml.html)

argonix 17. Mai 2007 12:46


EStringListError ListView+XML
 
Hi! Dieser Code unten bricht sich selbst mit einem EStringListError: Listenindex überschreitet das Maximum (0) ab.
Delphi-Quellcode:
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);
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.

Apollonius 17. Mai 2007 13:09

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.

argonix 17. Mai 2007 14:05

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 00:30 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