![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TListViw
ShimON © (2005-01-29 16:50:00)Привет всем! Никак не могу понять как с ним работать. Вот, например, в FormCreate вставляю след строки
fmML.lvMusic.Items.Item[0].Caption:= '1';
fmML.lvMusic.Items.Item[0].SubItems.Text:= '<ПУСТО>';
Уже на первой из этих строк, прога выдает Av типа ошибка чтения.... Что это(откуда она взялась)?? Никак не могу понять!! Пробывал вставлять строки в FormActivate та же фигня.
default (2005-01-29 18:14:00) [1]ListView1.Items.Add;
ListView1.Items[ListView1.Items.Count-1].Caption := 'LAST'
такое у меня работает исправно
ShimON (2005-01-29 17:58:00) [2]Никакого особенного кода не было. Новая форма, новый листвью (никакие свойства не менял, просто на форму кинул) и две строки в формкрит(как и у тебя).
НО!! Я, наконец понял как надо с этим листвью работать. привожу полный код.
procedure TForm1.FormCreate(Sender: TObject);
var
List: TListItem;
begin
ListView1.Clear;
List:= ListView1.Items.Add;
list.Caption := '1';
list.SubItems.Text:= '<ПУСТО>';
end;
default (2005-01-29 17:52:00) [3]мда, непонятно
выложи сюда весь код
ShimON (2005-01-29 17:46:00) [4]Так это что, значит я никак не могу в пустой список добавить элементы?? Не может быть!!!
ShimON (2005-01-29 17:44:00) [5]Когда по F7 дебагишь и ставишь на любое свойство курсор появляется, например TListItem.EditCaption = Inaccessible value
default (2005-01-29 17:43:00) [6]ошибка чтения происходит из-за того что адрес куда писать не определён
я сейчас все элементы удалил и такая ошибка возникла AV как и следовало ожидать при наполненном комп-те всё нормально(
ShimON (2005-01-29 17:38:00) [7]В новом приложении (никаких свойств у листвью не менял) те же строчки - та же ошибка ЧТЕНИЯ!!!
ShimON (2005-01-29 17:34:00) [8]А самое то интересное, Ошибка то именно ЧТЕНИЯ. Я не ошибся!!!! Во дела!!!
default (2005-01-29 17:34:00) [9]попробуй новое пустое приложение запусти
ShimON (2005-01-29 17:31:00) [10]Интересно!!! А у меня нет... Может настройки какие, есть предположения???
default (2005-01-29 17:27:00) [11]procedure TForm1.FormCreate(Sender: TObject);
begin
ListView1.Items[3].Caption := '1';
ListView1.Items[3].SubItems.Text:= '<ПУСТО>';
end;
всё работало
ShimON (2005-01-29 17:26:00) [12]Я вот что добавил, чтобы заработало. fmML.lvMusic.Items.Count:= 1; НО!!! Ведь перед этим у меня уже заполнены были три строки. В результате, я получил первую строку 1 <ПУСТО>, а остальные две такие, какими их стелал в дезигн-тайме. Как же так, если я Count сделал равным 1???? Объясните, пожалуйста, принцип работы этого компонента!!!
default (2005-01-29 17:22:00) [13]и в OnCreate у меня всё работает
на момент вызова OnCreate все компоненты на форме уже созданы
ShimON (2005-01-29 17:20:00) [14]Напиши, плз, как ты написал...
default (2005-01-29 17:20:00) [15]я попробовал у себя, ошибок нет
ShimON (2005-01-29 17:17:00) [16]Ошибся, с обработчиком кнопки все в порядке. Все работает как надо!!! Значит, наверно не успевает создаться сам ListView, когда я вызываю эти строки.... Так куда мне их пихнуть???
ShimON (2005-01-29 17:16:00) [17]нет, я уже в build-time заполняю первые три строки
default (2005-01-29 17:14:00) [18]ShimON © (29.01.05 17:09) [3]
а, значит свойство Index или как там его стоит на -1
ShimON (2005-01-29 17:11:00) [19]Причем, я записал те же строки в обработчик нажатия кнопки: если форма только загрузилась и нажать кнопку, то ошибка (ЗАПИСИ, извините) все равно появляется, а если выделить что-нибудь - то нет, все выполняется.
ShimON (2005-01-29 17:09:00) [20]Разве прочесть???? Я вроде пишу...