Советы по Delphi


Ошибка объекта 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]



Содержание раздела