Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.046 c
15-1177326834
Tonich
2007-04-23 15:13
2007.05.20
Спутники(характеристики)


2-1177584697
Пока что юзер
2007-04-26 14:51
2007.05.20
Как запаковать файлы в arj c помощью Делфи?


1-1174550871
Iks
2007-03-22 11:07
2007.05.20
TStringGrid на манер грида в Mozilla Thunderbird


15-1177150053
ProgRAMmer Dimonych
2007-04-21 14:07
2007.05.20
Подскажите, пожалуйста, решение проблемы...


1-1174366976
kolius
2007-03-20 08:02
2007.05.20
Цвет в Richedit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский