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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2007, 09:09   #1
Riman
 
Регистрация: 31.05.2007
Сообщений: 4
По умолчанию Блокирование при работе с TList.

Привет всем!
Проблема такая. Использую следующую конструкцию для создания больших списков:
PList_DR = ^AList_DR;
AList_DR = record
DATE : string[10];
count : longint;
...
end;
соответственно
MyList_DR : TList;
ARecord_DR : PList_DR;
В результате при любых действиях с таким списком (добавлении, поиску по списку и т.п.) полностью блокируется оконный интерфейс, функции таймера и т.д.
Help,please!
Riman вне форума Ответить с цитированием
Старый 31.05.2007, 09:19   #2
НЕ_АЙС
Форумчанин
 
Регистрация: 18.04.2007
Сообщений: 135
По умолчанию

Для начала спиок нужно создать
MyList:=TList.Create;

А затем можно и добавлять элементы
New(ARecord_DR);
ARecord_DR.count:=1;
MyList.Add(ARecord_DR);
НЕ_АЙС вне форума Ответить с цитированием
Старый 31.05.2007, 09:56   #3
Riman
 
Регистрация: 31.05.2007
Сообщений: 4
По умолчанию

Ну Вы даете!
Естественно, все это сделано!
Я ведь пишу: "В результате при любых действиях с таким списком (добавлении, поиску по списку и т.п.) полностью блокируется оконный интерфейс, функции таймера и т.д."
Т.е. работа со списком ведется как надо - все работает, список меняется и т.п. Проблема в одном: БЛОКИРУЮТСЯ ДРУГИЕ ФУНКЦИИ ПРИЛОЖЕНИЯ (окна).
Знаете ответ?
Riman вне форума Ответить с цитированием
Старый 31.05.2007, 11:17   #4
СТРАННИК
Пользователь
 
Аватар для СТРАННИК
 
Регистрация: 20.12.2006
Сообщений: 43
По умолчанию

Попробуй добавить Application.ProcessMessages
Если бы я был на столько умён, чтобы ответить на все вопросы самостоятельно, я бы не спрашивал...
СТРАННИК вне форума Ответить с цитированием
Старый 31.05.2007, 11:26   #5
Riman
 
Регистрация: 31.05.2007
Сообщений: 4
По умолчанию

Не помогло...
Riman вне форума Ответить с цитированием
Старый 31.05.2007, 11:49   #6
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

Можно на весь код посмотреть?
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Старый 31.05.2007, 12:00   #7
СТРАННИК
Пользователь
 
Аватар для СТРАННИК
 
Регистрация: 20.12.2006
Сообщений: 43
По умолчанию

Может не туда поставил?
Если бы я был на столько умён, чтобы ответить на все вопросы самостоятельно, я бы не спрашивал...
СТРАННИК вне форума Ответить с цитированием
Старый 31.05.2007, 15:28   #8
Riman
 
Регистрация: 31.05.2007
Сообщений: 4
По умолчанию

А куда ставить?
...
Вот типичный пример листинга:
MyList_F10.First;
for nf1:=0 to (MyList_F10.Count-1) do begin
ARecord_F10 := MyList_F10.Items[nf1];
x := ARecord_F10^.DAT;
if CompareStr(ARecord_F10^.YY,'zsfvdfg dfg')<>0 then ...
...
end;
Причем от количества записей (MyList_F10.Count) - 1000 или 100000 суть не зависит.
Riman вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блокирование клавиатуры и мыши =LeonZone= Win Api 15 04.02.2013 02:53
Блокирование клавиатуры Milly Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 18.10.2007 19:15
Tlist - Сортировка MAcK Компоненты Delphi 1 03.09.2007 15:24
блокирование функции Fireleo Win Api 5 29.07.2007 17:04
Блокирование других программ ar4i Общие вопросы Delphi 5 12.12.2006 14:59