Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как работать с невизуальным TListItems [D6, WinXP]


Yuri Btr ©   (2002-09-03 11:24:00) 

Ув. мастера, в Form1Create создаю экземпляр
l1:=TListItems.Create(ListView1);
где l1:TListItems;
И при добавлении Items в L1 у меня они добавляются и в ListView1
тоже, но мне нужно обработать несколько тысяч Items, и естественно всё это дело тормозит. Можно ли как нибудь сделать добавление Items в L1 а по окончании просто присвоить их ListView1 (что то типа ListView1.Items:=l1) ?
Я так думаю надо при создании писать не l1:=TListItems.Create(ListView1) а l1:=TListItems.Create(self) ? Или нельзя создать отдельный TListItems не связав его с конкретным ListView ?

Заранее спасибо.


Виктор Щербаков   (2002-09-03 11:38:00) [1]


> Но всё таки, если указать l1:=TListItems.Create(nil), то
> почему-то вылетает Exception при попытке добавить новую
> запись!


Смотри в исходнике.
Чего ж ты хочешь, если Owner = nil?

function TListItems.Add: TListItem;
begin
Result := Owner.CreateListItem;
ListView_InsertItem(Handle, CreateItem(Count, Result));
end


Yuri Btr   (2002-09-03 11:34:00) [2]

to Виктор Щербаков ©
Правда и чего это я забыл про BeginUpdate/EndUpdate

Но всё таки, если указать l1:=TListItems.Create(nil), то почему-то вылетает Exception при попытке добавить новую запись!


Виктор Щербаков   (2002-09-03 11:27:00) [3]

TListItems.BeginUpdate
TListItems.EndUpdate


Наверх

Титульная страница Поиск, карта сайта Написать письмо