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.
|
|