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

Вниз

Опрос 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.047 c
1-1109985318
rosl
2005-03-05 04:15
2005.03.20
hint


1-1109924793
Alexandre
2005-03-04 11:26
2005.03.20
Скрытие формы


14-1109739583
begin...end
2005-03-02 07:59
2005.03.20
С Днём рождения! 2 марта


4-1108011957
guest_Dmitry
2005-02-10 08:05
2005.03.20
Почему хук срабатывает несколько раз?


1-1110177575
Alexandre
2005-03-07 09:39
2005.03.20
Как запустить другое приложение?





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