Einzelnen Beitrag anzeigen

Schneewittchen

Registriert seit: 23. Nov 2004
2 Beiträge
 
Delphi 7 Enterprise
 
#1

Fehler beim TListView-OnCompare

  Alt 23. Nov 2004, 10:21
Hi,

ich habe eine TListView mit den Methoden OnCompare und OnColumnClick um die Liste zu sortieren. Das funktioniert ja auch, aber wenn ich die bestehende Liste sortiere und dann irgendwann einen neuen Eintrag hinzufüge, erhalte ich folgenden Fehler:

Im Projekt ist eine Exception der Klasse EStringListError aufgetreten. Meldung: 'Listenindex überschreitet das Maximum (1)'. Prozess wurde angehalten.Mit einzelne Anweisung oder Start fortsetzen

Er versucht nach dem Hinzufügen gleich die Liste neu zu sortieren, aber dann tritt der Fehler auf.
Ich weiß echt nicht mehr was ich ändern soll, hoffe es kann mir jemand helfen!
Danke

Delphi-Quellcode:
procedure Tframe_geburtstag.GeburtstageColumnClick(Sender: TObject;
  Column: TListColumn);
begin
  ColumnToSort := Column.Index;
  (Sender as TCustomListView).AlphaSort;
end;
Delphi-Quellcode:
procedure Tframe_geburtstag.GeburtstageCompare(Sender: TObject; Item1,
  Item2: TListItem; Data: Integer; var Compare: Integer);
var
  ix: Integer;
begin
  if ColumnToSort = 0 then
    Compare := CompareText(Item1.Caption,Item2.Caption)
  else begin
   ix := ColumnToSort - 1;
   Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
  end;
Auf Button Klick in der ListView einen Eintrag hinzufügen:
Delphi-Quellcode:
    Item := Geburtstage.Items.Add;
    Item.Caption := '' + '11.11.2001'; //Datum
    Item.SubItems.Add('typ'); //Typ
    Item.SubItems.Add(Edt_Nachname.Text);
  Mit Zitat antworten Zitat