Главная страница
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.094 c
4-1166374037
Чапаев
2006-12-17 19:47
2007.05.20
Получить оповещение об изменении системного времени


15-1177245590
ProgRAMmer Dimonych
2007-04-22 16:39
2007.05.20
Знаю, что решение совсем простое, но...


2-1178273173
Doom-2
2007-05-04 14:06
2007.05.20
Как запустить приложения по очереди?


9-1131474378
WD
2005-11-08 21:26
2007.05.20
вычисление числа Пи с заданной точностью


2-1178263801
DarkMaxx
2007-05-04 11:30
2007.05.20
Построение графика