Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.20;
Скачать: CL | DM;

Вниз

потоки и визуальные компоненты   Найти похожие ветки 

 
Veon ©   (2007-03-23 18:13) [0]

Подскажите в чем бока:
Создал класс(TSession), потомок от TThread. который должен разбирать записи, частью записи являются TEdit и TImage.
в ф-циях определил ф-цию(TSession.AddLine) которая создает все эти компоненты. (ф-ция не вызывается перед Execute)

Теперь удивительное: когда я в Execute жду события (внесения текста в форму) TEdit вешается, без него все ок. Такое чувство что потоки не работают

Решил вынесением создания записи из ф-ций класса на уровень выше и передаю уже созданную запись внутрь TSession.AddLine уже созданную и сформированную запись.

Что дает такой неприятный эффект???


 
Eraser ©   (2007-03-23 19:13) [1]

> [0] Veon ©   (23.03.07 18:13)


> Что дает такой неприятный эффект???

Использовать визуальные VCL компонеты не из главного потока нельзя. Вот что дает такой эффект. Для взаимодейсивия с визуальными компонентами из потока лучше всего использовать сообщения.


 
Veon ©   (2007-03-23 19:17) [2]

так я его создаю до запуска потока. и нужно компонентов столько сколько потоков, которые будут потом с ними работать


 
Eraser ©   (2007-03-23 19:19) [3]

> [2] Veon ©   (23.03.07 19:17)

а это без разницы - создаешь до потока или после. нельзя допускать прямой доступ к полям и методам визульного компонента из доп. потока.


 
trubin ©   (2007-03-23 19:29) [4]

Используй TThread.Synchronize


 
Veon ©   (2007-03-23 19:40) [5]

если нельзя допускать доступ, то как сделать например индикаторы для множества соединений ?

как по-моему - класс соединения включает индикатор, а изменения в компонентах уже синхронизировать


 
Eraser ©   (2007-03-23 22:39) [6]

> [5] Veon ©   (23.03.07 19:40)

что есть "индикаторы для множества соединений"?

скорее всего проблема легко решается через систему сообщений.


 
Kolan ©   (2007-03-23 22:43) [7]

> класс соединения включает индикатор, а изменения в компонентах
> уже синхронизировать

VCL почти все не потоко безопасна&#133



Страницы: 1 вся ветка

Текущий архив: 2007.05.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.05 c
2-1178251152
RomanLN
2007-05-04 07:59
2007.05.20
как создать таблицу через SQL ?


15-1176806589
икс-игрик-й
2007-04-17 14:43
2007.05.20
Помогите решить задачки по физике(кто решит отблагодарю)


1-1174978693
serp
2007-03-27 10:58
2007.05.20
Монитор в режим ожидания


6-1163577244
Helen
2006-11-15 10:54
2007.05.20
Закачка файла с ftp-сервера


1-1175036331
Димон
2007-03-28 02:58
2007.05.20
Ошибки при добавлнии элемента в TListView