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

Вниз

Опрос COM-порта и потоки   Найти похожие ветки 

 
Marser ©   (2005-01-17 12:03) [0]

Проводим в потоке.
Является ли обращение к визуальным компонентам из потока плохим тоном? Чем это чревато?

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


 
Fay ©   (2005-01-17 12:07) [1]

обращение к визуальным компонентам
Какое и к каким. М.б. обойдёшся SendMessage.


 
Marser ©   (2005-01-17 12:14) [2]

К стандартным, преимущественно - TListBox, TCheckButton, TLabel.

Всё-таки склоняюсь ко второму варианту. Гемора меньше...
Но всё же интересно, в чем именно заключается гипотетическая пагубность обращения по первому варианту?


 
Marser ©   (2005-01-17 12:15) [3]


> Fay ©   (17.01.05 12:07) [1]

TLabel сообщений не принимает, за отсутствием дескриптора...


 
Digitman ©   (2005-01-17 12:26) [4]


> в чем именно заключается гипотетическая пагубность обращения
> по первому варианту?


в том что рано или поздно произойдет несинхронизированное обращение со стороны более чем одного трэда к DC контрола

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


 
Digitman ©   (2005-01-17 12:28) [5]


> Гемора меньше


Борланд в кач-ве "лекарства от гемора" предлагает метод Synchronize(), и в большинстве простых случаев нет никакого резона отказываться от его приема.


 
Marser ©   (2005-01-17 12:32) [6]


> в том что рано или поздно произойдет несинхронизированное
> обращение со стороны более чем одного трэда к DC контрола
>
> минимум чем ты рискуешь - получить исключение по невозможности
> рисования на канве, максимум - зависание и крах твоего процесса

Ясно. Спасибо.


> Борланд в кач-ве "лекарства от гемора" предлагает метод
> Synchronize(), и в большинстве простых случаев нет никакого
> резона отказываться от его приема.

Для потомков TThread. Я же покамест использовал голый API-ній вариант.


 
Marser ©   (2005-01-17 12:36) [7]

Хотя TThread, конечно, удобнее..


 
Digitman ©   (2005-01-17 13:01) [8]


> Marser ©   (17.01.05 12:36) [7]
> Хотя TThread, конечно, удобнее..


ну так а почему же не использовать его ?


 
tesseract   (2005-01-18 16:42) [9]

Я проще сделал - через CriticalSection - в основной поток по мере надобности через секция считывает данные из других потоков и отображает. Так можно и через TThread и через API


 
Marser ©   (2005-02-03 12:27) [10]


> Digitman ©   (17.01.05 13:01) [8]
>
> > Marser ©   (17.01.05 12:36) [7]
> > Хотя TThread, конечно, удобнее..
>
>
> ну так а почему же не использовать его ?

Успешно использовал. Весчь :-)

> tesseract   (18.01.05 16:42) [9]
> Я проще сделал - через CriticalSection

Не пробовал...



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

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

Наверх




Память: 0.46 MB
Время: 0.03 c
1-1109937507
DimonNew
2005-03-04 14:58
2005.03.20
TList и new и dispose и ограничение по расмеру


4-1107780857
ANB
2005-02-07 15:54
2005.03.20
Сообщения для Control


9-1103966490
GlintweiN
2004-12-25 12:21
2005.03.20
Помогите с установкой


3-1108698060
Ярослав
2005-02-18 06:41
2005.03.20
FireBird Embeded & Win98


14-1109230163
DelphiN!
2005-02-24 10:29
2005.03.20
Надежность сервера баз данных FireBird 1.5





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский