Главная страница
    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.47 MB
Время: 0.033 c
6-1106208547
xZero
2005-01-20 11:09
2005.03.20
бродкаст через хабы


3-1108704613
h1der
2005-02-18 08:30
2005.03.20
Delphi изменяет заголовок таблицы FoxPro


6-1105707982
begemon
2005-01-14 16:06
2005.03.20
Как определить момент, когда модем установил соединение


14-1109092744
pusrg
2005-02-22 20:19
2005.03.20
Delphi 2005 & Pocket PC


3-1108932186
VitGun
2005-02-20 23:43
2005.03.20
Формы Excel -> FastReport





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