Главная страница
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.052 c
8-1158129949
Iserg
2006-09-13 10:45
2007.05.20
Микширование звуковых файлов


2-1178206705
RomanLN
2007-05-03 19:38
2007.05.20
Возможно ли создать таблицу зарание незная сколько будет полей


1-1174898170
Zvitchenzug
2007-03-26 12:36
2007.05.20
Как "вытянуть" HTML-страницы из всех открытых окон IE


2-1177706637
Ornelius
2007-04-28 00:43
2007.05.20
Динамический массив как поле класса


2-1177596120
I-New
2007-04-26 18:02
2007.05.20
как у знать сколько сколько Item ов в TlistBox