![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как работать с невизуальным 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