Einzelnen Beitrag anzeigen

Benutzerbild von argonix
argonix

Registriert seit: 28. Feb 2007
257 Beiträge
 
Delphi 2005 Personal
 
#1

EStringListError ListView+XML

  Alt 17. Mai 2007, 13:46
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.
Matthias
  Mit Zitat antworten Zitat