Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ListenIndex überschreitet maximum (https://www.delphipraxis.net/101273-listenindex-ueberschreitet-maximum.html)

hedie 10. Okt 2007 17:44


ListenIndex überschreitet maximum
 
Hallo

Ich habe mal wieder ein Problem

Ich möchte diesen code anwenden Das markierte macht hier probleme

Delphi-Quellcode:
procedure TForm2.FormShow(Sender: TObject);
var
  ListItem: TListItem;
  i:integer;
begin
listboxm2.Items.AddStrings(listdbp());
i := 0;
repeat
begin
  with listboxm1 do
    begin
      ListItem := Items.Add;
      ListItem.Caption := listdbn.Strings[i];
      ListItem.SubItems.Strings[0] := listdbn.Strings[i]; <----------------------------------
    end;
    end;
    i := i + 1;
until i = tempc;
label5.Caption := 'Datenbank erfolgreich geladen';
end;
listboxm1 ist hier ein TListView

Wenn ich diesen code
Delphi-Quellcode:
ListItem.SubItems.Strings[0] := listdbn.Strings[i];
Mittels Button ausführe, dann gehts

die medlung lautet: Listenindex überschreitet das maximum (0)

was ist hier blos falsch?

DeddyH 10. Okt 2007 17:59

Re: ListenIndex überschreitet maximum
 
Auch SubItems werden mit Add() hinzugefügt.

hedie 10. Okt 2007 18:01

Re: ListenIndex überschreitet maximum
 
is doch schon

Delphi-Quellcode:
    begin
      ListItem := Items.Add; <-----
      ListItem.Caption := listdbn.Strings[i];

Alien426 10. Okt 2007 18:02

Re: ListenIndex überschreitet maximum
 
Du musst erst mal SubItems hinzufügen. Da dabei gleich der String übergeben wird bist du nach dem Add auch schon fertig.

DeddyH 10. Okt 2007 18:03

Re: ListenIndex überschreitet maximum
 
Delphi-Quellcode:
ListItem := Items.Add;
ListItem.Caption := listdbn.Strings[i];
ListItem.SubItems.Add(listdbn.Strings[i]);

hedie 10. Okt 2007 18:04

Re: ListenIndex überschreitet maximum
 
aber es soll in die zweite spalte hinein

Matze 10. Okt 2007 18:06

Re: ListenIndex überschreitet maximum
 
Dann fülle doch einfach die erste Spalte mit einem Leerstring. Oder wie meinst du das nun? Der obige Code füllt die erste und zweite Spalte.

DeddyH 10. Okt 2007 18:07

Re: ListenIndex überschreitet maximum
 
Zitat:

Zitat von hedie
aber es soll in die zweite spalte hinein

Woher soll ich das denn wissen? Ich habe nur Deinen Code kopiert.

hedie 10. Okt 2007 18:09

Re: ListenIndex überschreitet maximum
 
Edit::

Das weisst du deswegen weil hier ne 0 steht

Delphi-Quellcode:
ListItem.SubItems.Strings[0] <-----
;)

__________________________________________________ _______________

Also mit

Delphi-Quellcode:
ListItem.Caption := listdbn.Strings[i];
Schreib ich ja in die erste spalte der listview

und wenn ich mit

Delphi-Quellcode:
ListItem.SubItems.Add(listdbn.Strings[i]);
in die zweite schreiben kann, kann ich das ja noch verstehen, aber wie komm ich dan in
die 3,4..... spalte?

DeddyH 10. Okt 2007 18:11

Re: ListenIndex überschreitet maximum
 
3. Spalte:
Delphi-Quellcode:
ListItem.SubItems.Add(...);
4. Spalte:
Delphi-Quellcode:
ListItem.SubItems.Add(...);
Jede weitere Spalte:
Delphi-Quellcode:
ListItem.SubItems.Add(...);
Alles klar?


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:23 Uhr.
Seite 1 von 2  1 2      

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