Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2014, 01:29   #1
rom4eg999666
 
Регистрация: 12.07.2013
Сообщений: 7
По умолчанию Обновление данных в VirtualTreeView

Всем привет. В программе часто обновляется VirtualTreeView. Интервал обновления около 100мс. Но, иногда начинаются мерцания. При выставлении интервала на больший они успешно пропадают. Вопрос: как наиболее эффективно обновлять данные в VirtualTreeView?
Процедура обновления данных:
Код:
procedure TDownloadBar.AddInfo(VST: TBaseVirtualTree; N: Integer;
Inf, Path: string);
var
  Data: PTreeData;
  Node: PVirtualNode;
begin
  Node := NodeByIndex(VST, N);

  if not Assigned(Node) then
    Exit;

  Data := VST.GetNodeData(Node);

  Data.Inf := Inf;
  Data.Path := Path;

  VST.InvalidateNode(Node);
end;
Функция NodeByIndex:
Код:
function TDownloadBar.NodeByIndex(const VST: TBaseVirtualTree;
  const anIndex: Integer): PVirtualNode;
var
  Count: Integer;
  Node: PVirtualNode;
begin
  Node := VST.GetFirst(False);
  Count := 0;

  while (Node <> nil) and (Count < anIndex) do
  begin
    Node := aTree.GetNext(Node);
    inc(Count);
  end;

  Result := Node;
end;
rom4eg999666 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Dragdrop в Virtualtreeview NaumOff Компоненты Delphi 0 14.11.2012 00:01
VirtualTreeView vs. Delphi XE Kasyan666 Компоненты Delphi 6 30.06.2011 15:54
Работа с VirtualTreeView Mitron Общие вопросы Delphi 31 20.07.2010 13:45
Обновление списка данных без потери данных в переменных VaBank БД в Delphi 13 03.06.2009 10:47
Вопрос по компаненту VirtualTreeView gyvenor Компоненты Delphi 13 28.02.2007 11:34