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.