Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
15-1176825088
Jin_beginer
2007-04-17 19:51
2007.05.20
Сортировка в DBGrid


2-1178097367
Washington
2007-05-02 13:16
2007.05.20
Базы данных Access - удаление записей


8-1157428625
Irinka
2006-09-05 07:57
2007.05.20
Как загрузить png в Image без дополнительных компонент?


15-1177182463
ArtemESC
2007-04-21 23:07
2007.05.20
Хочу сделать файловый обменник на сервере...


2-1177962098
vegarulez
2007-04-30 23:41
2007.05.20
Вопрос про DBGrid.(Перемещение по гриду, сколько записей видно)




   Наверх