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