C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Проблема с потоком, Организация взаимодействия с потоком?
Roman
Отправлено: 28.01.2004, 11:22


Дежурный стрелочник

Группа: Участник
Сообщений: 78



Здравствуйте, ГОСПОДА!

Подскажите... Проблема в следующем:
У меня программа состоит из главной формы + куча вспомогательных окон (создаются динамически) + 2 потока запускаемые при инициализации главной формы.
Один поток работает с СОМ-портом — читает/пишет данные и передает их второму потоку, второй — обрабатывает сообщения и в виде графиков и данных выводит на главной форме. Так вот, как только я открываю дочернее окно (главная форма теряет фокус) через Show или ShowModal сразу останавливается поток работы с портом. Закрываю окно — поток работает дальше нормально. В чем дело????
Вывод на экран делаю через синхронизацию... Данные второму потоку передавал без и с синхронизацией — не помогает. СОМ-порт открываю без перекрытия...
Roman
Отправлено: 28.01.2004, 12:01


Дежурный стрелочник

Группа: Участник
Сообщений: 78



Моя ошибка. Хотел ускорить процессы и добавил Application->ProcessMessages() — НИЗЯ!!!
Правда, глюк повторяется, но очень редко...

Если кто-нибудь подскажет грамотную организацию взаимодействия потоков буду благодарен...

Спасибо всем за внимание!
Doga
Отправлено: 28.01.2004, 14:30


Мастер участка

Группа: Участник
Сообщений: 575



Классы твоих потоков обьявлены локально в главной форме и ли подключены к проэкту?

У меня все потоки обявлены глобально и работают нормально под любыми дочерними окнами, даже отрытыми в режиме ShowModal.

Вернуться в Вопросы программирования в C++Builder