|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.08.2013, 15:10 | #1 |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
Синхронизация потоков и VCL
Приветствую, товарищи! Я хочу попросить у вас помощи в отлове бага. У меня имеется многопоточное приложение, каждый поток которого синхронизирует свой статус с визуальными компонентами на окне VCL. Эти элементы представляют собой 16 картинок (потоков именно 16), при наведении на которые появляется подсказка со статусом. И вот, это приложение иногда виснет. Намертво. Подозреваю, что происходит взаимная блокировка, или, быть может, рассинхронизация, что вероятнее.
Для управления статусами, я использую вот такой класс: Код:
В планах порабощение вселенной...
|
11.08.2013, 15:10 | #2 |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
TThreadHandler это классы потоков унаследованные от TThread. Метод CallSynchronize выглядит так:
Код:
ThreadsStatusManager (Хм, может следует его назвать ThreadStatusesManager?..). Статус меняется внутри потока следующим образом: Код:
Сомневаюсь в реализации перегрузки Transaction, хотя в теории должно работать нормально. Киньте свой опытный взгляд на сей гавнокод, не засела ли тут ошибка?
В планах порабощение вселенной...
Последний раз редактировалось zumm; 11.08.2013 в 15:14. Причина: йа савсем низнаю руский |
13.08.2013, 14:35 | #3 |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
Немного переусердствовал со ссылками: объекты классов можно было бы передавать и просто так, все равно это указатели. Но виснет оно явно не из за этого...
В планах порабощение вселенной...
|
14.08.2013, 00:46 | #4 |
БохЪ
Форумчанин
Регистрация: 30.09.2009
Сообщений: 724
|
Выяснилось, что программа виснет на всплывающих подсказках. Видимо, что то не то с критической секцией. Но что?..
В планах порабощение вселенной...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Синхронизация потоков | Fireblade-fan | Общие вопросы Delphi | 5 | 17.12.2012 01:57 |
Синхронизация потоков | добрый_фей | Помощь студентам | 5 | 09.12.2011 19:57 |
Синхронизация потоков | kardinal94 | Общие вопросы Delphi | 5 | 29.11.2010 21:13 |
Синхронизация потоков в С++ | erazer89 | Помощь студентам | 0 | 27.04.2010 20:14 |
синхронизация потоков | m_kostik | Win Api | 0 | 26.03.2010 23:56 |