Hallo,
Getestet habe ich es mit Delphi 5 und 6 Enterprise. Zum Nachvollziehen:
Man plaziere eine ComboBox auf ein Form. Mit einem beliebigen Button kann man folgenden Code zur Ausführung bringen:<pre>
with ComboBox1 do begin
Items.Clear;
Items.AddObject('AnyString', TObject(Integer(-1)));
end;</pre>
Ich verwende die Objects-Eigenschaft als Behälter für Integer-Werte.
Das frapide ist nun, dass ComboBox.Items.Count korrekterweise 1 ergibt, sobald man aber versucht auf die Objects[0] Eigenschaft zuzugreifen, erntet man eine "Index außerhalb des gültigen Bereichs"-Exception. Ersetze ich beim AddObject() -1 durch -2, also<pre>
AddObject('AnyString', TObject(Integer(-2));</pre>
ist alles korrekt.
Gruß<br>
Stephan Schneider
Getestet habe ich es mit Delphi 5 und 6 Enterprise. Zum Nachvollziehen:
Man plaziere eine ComboBox auf ein Form. Mit einem beliebigen Button kann man folgenden Code zur Ausführung bringen:<pre>
with ComboBox1 do begin
Items.Clear;
Items.AddObject('AnyString', TObject(Integer(-1)));
end;</pre>
Ich verwende die Objects-Eigenschaft als Behälter für Integer-Werte.
Das frapide ist nun, dass ComboBox.Items.Count korrekterweise 1 ergibt, sobald man aber versucht auf die Objects[0] Eigenschaft zuzugreifen, erntet man eine "Index außerhalb des gültigen Bereichs"-Exception. Ersetze ich beim AddObject() -1 durch -2, also<pre>
AddObject('AnyString', TObject(Integer(-2));</pre>
ist alles korrekt.
Gruß<br>
Stephan Schneider