![]() |
Fehlermeldung beim Setzen der TListItem.Caption
Hallo,
folgender Code ruft eine Fehlermeldung hervor:
Delphi-Quellcode:
Die Fehlermeldung lautet: "Listenindex überschreitet das Maximum(1)". Diese kenne ich eigentlich im Zusammenhang mit dem Sprengen von Array-Dimensionsgrenzen, aber hier ist doch eigentlich kein Array verletzt!
LVItem:= MyListView.Items.Add;
LVitem.Caption := 'testbezeichnung'; Um die Sache zu vereinfachen: Der Fehler tritt nur auf, wenn ich die bestehenden Listeneinträge per Klick auf einen der Columnheader sortiert habe. Das mache ich wie folgt:
Delphi-Quellcode:
Wobei ich zugeben muss, dass ich mir das kopiert habe. Das Sortieren funktioniert so wunderbar, aber ich verstehe nicht wirklich was da passiert. Jedenfalls sorgt es für eine Fehlermeldung, wenn ich an die Liste ein neues Item anfüge und dessen Caption-Eigenschaft setzen möchte.
procedure TForm1.MyListViewColumnClick(Sender: TObject;
Column: TListColumn); begin if MyListView_sort = 0 then MyListView_sort := 1; //glob. Programmvariable if MyListView_col_idx = Column.Index then //glob. Programmvariable MyListView_sort := MyListView_sort * -1 else MyListView_sort := 1; MyListView_col_idx := Column.Index; MyListView.AlphaSort; procedure TForm1.MyListViewCompare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer); var ix :integer; begin if MyListView_col_idx = 0 then Compare := CompareText(Item1.Caption,Item2.Caption) else begin ix := MyListView_col_idx - 1; Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]); end; Compare := Compare * MyListView_sort; end; end; Viele Grüße |
Re: Fehlermeldung beim Setzen der TListItem.Caption
Ich nochmal!
Ich glaube zu erkennen, dass dadurch dass die Liste sortiert wurde, ein "onCompare" beim Anfügen eines neuen ListItems ausgelöst wird - wobei die Variable MyListView_col_idx z.B. den Wert 2 hat und dadurch die nicht vorhandenen SubItems durchsucht werden. Ich denke ich kriege das Problem allein gelöst - Entschuldigt den Aufruhr.... Manchmal sehe ich eben den Wald vor Bäumen nicht! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:32 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