![]() |
|
![]() ![]() ![]() |
|
DonPager |
|
||||
![]() Колдырь ![]() ![]() Профиль Группа: Участник Сообщений: 327 Регистрация: 28.3.2003 Где: Воронеж Репутация: 1 Всего: 2 |
есть класс:
В глобальную переменную этого класса я засылаю месаги из различных потоков
и иногда сообщения "накладываются"друг на друга Так вот подскажите пжалста, может лучше изменить такую схему на PostMessage и отлов сообщений к меме? Если так то подскажите пример реализации Спасибо Это сообщение отредактировал(а) DonPager - 31.1.2008, 11:55 -------------------- кодер + лодырь = колдырь |
||||
|
|||||
xvr |
|
||||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
VCL объекты расчитанны на работу из главного потока приложения, так что такая реализация черевата не только перекрытием строк, но и полным зависанием ![]()
Создаешь наследника TThread, который будет принимать сообщения, в нем складываешь принятое сообщение в переменную и через Synchronize вызываешь добавление ее к memo. Это все нужно поместить в критическую секцию, что бы вызовы из разных потоков не перебили переменную. Кстати, добавлять строку к memo лучше так:
Lines->Add реально вызывает переписывание ВСЕГО memo, что при большом количестве текста весьма весьма заметно ![]() Это сообщение отредактировал(а) xvr - 31.1.2008, 15:26 |
||||||||||
|
|||||||||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
|
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Прокоментирую - это было так в BCB 3.0, в 6ке (надеюсь и далее) сделан нормальный Lines->Add, так что вполне можно использовать его |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |