Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.25;
Скачать: CL | DM;

Вниз

Как можно получить Item.Data в TListView.OnData?   Найти похожие ветки 

 
Igor-NN   (2002-02-07 19:14) [0]

В событие TListView.OnData передаются параметры Sender и Item. Я пытаюсь внутри процедуры события получить Item.Data, но всё время приходит nil, хотя я установил этот параметр, когда добавлял запись в ListView через AddItem. В исходниках VCL стоИт
FTempItem.FData := Pointer(lParam) перед вызовом OwnerDataFetch(FTempItem, Request) т.е. параметр Data по идее должен был бы передаваться. В чём грабли?


 
DMN ©   (2002-02-07 20:31) [1]

Так OnData - оно для виртуальных списков. И заполняется элемент по запросу в этом самом OnData. А сам ListView не фига не хранит - ни data, ни caption, ни subitems... Только Item.Index вполне адекватен - по нему и надо ориентироваться.


 
Igor-NN   (2002-02-08 10:48) [2]

>...а сам ListView не фига не хранит
Пробовал: если я присвою ListView.Items[...].Data, я могу его потом считать.

>Только Item.Index вполне адекватен - по нему и надо
>ориентироваться.
Нда... только вызов ListView.Items[Item.Index].Data приводит в OnData к переполнению стека. Это хорошо, когда данные хранятся во внешней коллекции, но это неудобно, т.к. например, при перестановке элементов списка приходится переставлять и элементы этой коллекции. Можно ли хранить всё это дело в самом списке, или я много захотел? :)


 
Юрий Федоров ©   (2002-02-08 11:04) [3]

Все должно работать. Посмотри повнимательней, где ты сам грохнул
эту data


 
Igor-NN   (2002-02-08 12:24) [4]

Не... не грохал :) Оказывается, я ошибся, всё как раз наоборот: если я не присвою значение Item.Data в OnData, то и не получу его в остальных модулях, т.е. значение Data должно присваиваться из обработчика OnData. А жаль, всё было так хорошо задумано :)



Страницы: 1 вся ветка

Текущий архив: 2002.02.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.007 c
14-79465
Polevi
2002-01-09 15:18
2002.02.25
Ураа!!


7-79478
miDDTrich
2001-11-20 14:01
2002.02.25
Где в win2000 прописать размер environment?


14-79458
fliz
2002-01-04 16:19
2002.02.25
каким местом издает звук винчестер???


6-79403
Andrey_P
2001-12-04 13:23
2002.02.25
MAC Адрес


3-79296
anonimous
2002-01-29 11:58
2002.02.25
Как создать таблицу .dbf формата DBase IV