Идёт загрузка страницы...

htp://aptem.net.ru





Delphi 1

Ошибка объекта TListBox

Я получаю ошибку index out-of-range (индекс за пределами диапазона) при вызове DetailList.Items.Objects[X], когда X равен нулю, при дальнейшем тестировании ошибка Detail.Items[X] исчезает, даже когда X равен нулю. В чем дело?

Эта ошибка, похоже, происходит если я привожу -1 к типу TObject и размещаю ее в ListBox в массиве Items.Objects.

Это вызвано ошибкой в TListBoxStrings:


   
function TListBoxStrings.GetObject(Index: Integer): TObject;
begin
Result := TObject(SendMessage(ListBox.Handle, LB_GETITEMDATA, Index, 0));
if Longint(Result) = LB_ERR then
raise EStringListError.Create(LoadStr(SListIndexError));
end;

LB_ERR, вы наверное догадались, -1!

- Ralph Friedman [000997]