Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Ускорить удаление элементов из TListView

Delphi , Компоненты и Классы , TListView

Ускорить удаление элементов из TListView

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

procedure AddNewListViewItems;
 var
   oldViewStyle: TViewStyle;
 begin
   odlViewStyle := ListView1.ViewStyle;
   ListView1.ViewStyle := vsList;
   ListView1.Items.Clear;
   { Add new Listitems here }
   { An dieser werden die neuen ListItems eingefugt }
   ListView1.ViewStyle := oldViewStyle;
 end;

Персональная поиска оптимизации производительности!

В этом коде AddNewListViewItems - это процедура, которая очищает элементы из TListView и затем добавляет новые. Для ускорения удаления элементов из списка можно попробовать следующее:

  1. Используйте ClearAndDelete() вместо Clear(): Когда вы вызываете Clear(), Delphi только удаляет элементы из памяти, но не освобождает underlying ресурсы. Вызов ClearAndDelete() удалит элементы и освободит память.
процедура AddNewListViewItems;
var
  oldViewStyle: TViewStyle;
begin
  oldViewStyle  := ListView1.ViewStyle;
  ListView1.ViewStyle  := vsList;
  ListView1.Items.ClearAndDelete;  // Используйте ClearAndDelete() вместо Clear()
  { Добавьте новые Listitems здесь }
  ListView1.ViewStyle  := oldViewStyle;
end;
  1. Отключите события списка: Пока вы очищаете и добавляете элементы, отключите события списка, чтобы предотвратить их вызов неожиданно. Вы можете сделать это, установив ListView1.On... свойства в nil, или используя временный обработчик событий, который ничего не делает.
процедура AddNewListViewItems;
var
  oldViewStyle: TViewStyle;
begin
  oldViewStyle  := ListView1.ViewStyle;
  ListView1.ViewStyle  := vsList;
  ListView1.OnItemCheck  := nil;  // Отключите события проверки элемента
  ListView1.OnItemClick  := nil;  // Отключите событие клика по элементу
  ListView1.Items.ClearAndDelete;
  { Добавьте новые Listitems здесь }
  ListView1.ViewStyle  := oldViewStyle;
end;
  1. Рассмотрите использование TStringList или другого структуры данных: Если вы постоянно очищаете и добавляете элементы в список, может быть более эффективно хранить вашу данные в другой структуре данных, например, в TStringList, которая может обновляться быстрее.
процедура AddNewListViewItems;
var
  oldViewStyle: TViewStyle;
  strList: TStringList;
begin
  oldViewStyle  := ListView1.ViewStyle;
  ListView1.ViewStyle  := vsList;
  strList  := TStringList.Create;  // Создайте новый список строк

  { Пополните список строк вашими данными }

  ListView1.Items.Assign(strList);  // Присвойте список строк элементам списка
  strList.Free;  // Освободите память, выделенную для списка строк

  ListView1.ViewStyle  := oldViewStyle;
end;

Помните, что эти предложения только начало, и вам нужно протестировать их в вашем конкретном сценарии, чтобы увидеть, улучшат ли они производительность.

Описание процесса ускорения удаления элементов из TListView, предлагая пример процедуры AddNewListViewItems для изменения стиля просмотра списка и очищения его содержимого.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: TListView ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 23:28:18/0.0050821304321289/2