Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#1

Index angeblich außerhalb Wertebereich (ComboBox)

  Alt 15. Jul 2008, 16:34
Index überschreitet angeblich maximum (ComboBox)

als Erstes hab ich mal dieses Stückchen Code,
womit ich einfach nur den zusätzliche Wert (in Object) des nachfolgenden Items auslesen möchte,
aber er bringt mich langsam zum Ausrasten, da hier ständig eine Exception auftritt (also da wo Objects ausgelesen wird)
Zitat:
Listenindex überschreitet das Maximum (1)
MessageBox mein "1 2", also sind folgende Werte vorgegeben;
ComboBox2.ItemIndex = 0
ComboBox2.Items.Count = 2 (da 2 Einträge vorhanden sind)
Delphi-Quellcode:
// des war nur zur Kontrolle, ob der Debuger
// mir auch wirklich die Richtigen Werte anzeigte
Application.MessageBox(PChar(Format('%d %d', [ComboBox2.ItemIndex + 1, ComboBox2.Items.Count])), '');

If ComboBox2.ItemIndex + 1 < ComboBox2.Items.Count Then
  i3 := Integer(ComboBox2.Items.Objects[ComboBox2.ItemIndex + 1]) - 1
Else i3 := High(_ComboBox2_Messages);
also eigentlich sollte es doch keinen Fehler geben, da 0+1=1 und 1 < 2 ... heißt Index 0 und vorallem 1 sollte es doch geben?

ach ja, Objects ist einfach nur ein gecasteter Integer ... des sollte doch kein Problem sein?
ComboBox2.Items.AddObject(s, TObject(i)); wie gesagt, Index liegt definitiv im gültigen Wertebereich
> Delphi 7


aufgerufen wird der Code derzeit über Form.OnCreate, in der ComboBox2.OnChange
(ich versuch aktuell mal den Code erst später ausführen zu lassen)



ja und ich hab schon gesucht, aber noch nichts dazu gefunden

wär also schön, wenn sich dieser Fehler beheben ließe.

MbB dat himi



[add]
OK, es liegt schonmal nicht am OnCreate und daß die ComboBox eventull noch nicht komplett initialisiert ist ... auch später tritt der Fehler auf.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat