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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2010, 19:55   #1
OPF_Nik
Пользователь
 
Регистрация: 09.11.2009
Сообщений: 33
По умолчанию работа с TStringList в потоке

Народ, подскажите, запускается несколько потоков, например 10, хотя число не фиксированное...
Есть список TstringList.. заполненный например 30 строчками...
Как допустим, по очереди записывать их в Memo, а потом удалять за собой из TStringList, что бы другой поток не добавил тоже значение?
OPF_Nik вне форума Ответить с цитированием
Старый 01.02.2010, 08:56   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну например приостановить все потоки, записать в Мемо, удалить из TStringList.
Или синхронизировать потоки. в Компоненте TThread это предусмотренно. Создай его, почитай к нему коменты и сделай как там описано.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.02.2010, 13:22   #3
OPF_Nik
Пользователь
 
Регистрация: 09.11.2009
Сообщений: 33
По умолчанию

Stilet, да надо будет, с синхронезацией сделать
OPF_Nik вне форума Ответить с цитированием
Старый 01.02.2010, 13:26   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от OPF_Nik Посмотреть сообщение
Как допустим, по очереди записывать их в Memo, а потом удалять за собой из TStringList, что бы другой поток не добавил тоже значение?
Сам сделай синхронизацию - сбацай дополнительный массив - если там есть значение, значит элемент StringList'а занят и нечего его лапать . Кто работает тот и выставляет флажки - занято, свободно.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 01.02.2010, 13:38   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Utkin
А мне кажется что будет проще в потоке выполнять процедуру которая с Листом работает, вызвав ее через метод Synchronize и не париться по поводу флагов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.02.2010, 13:42   #6
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А мне кажется что будет проще в потоке выполнять процедуру которая с Листом работает, вызвав ее через метод Synchronize и не париться по поводу флагов.
Да я не спорю .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 01.02.2010, 15:15   #7
OPF_Nik
Пользователь
 
Регистрация: 09.11.2009
Сообщений: 33
По умолчанию

Все народ, маленько погуглил, с теорией разобрался.. решил сделать как и сказал "Stilet"( огромное спс вам с "Utkin"ом) через Synchronize
Остался один вопрос, как сделать что бы циклы работали, пока в листе что то есть??
OPF_Nik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
всплывающее окно(в отдельном потоке) Virus191288 Компоненты Delphi 8 21.01.2010 13:41
Indy в потоке - утечка памяти PUH Помощь студентам 0 25.12.2009 12:27
Ошибка в потоке User>lia Общие вопросы Delphi 5 20.01.2009 18:55
Работа с TStringList через указатель. Mixasik Общие вопросы Delphi 2 08.01.2009 12:51
TClientSocket в потоке BlackOmen Работа с сетью в Delphi 8 27.04.2008 22:19