Giny |
Отправлено: 14.03.2006, 14:05 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 23
|
У меня MDI приложение — терминал для каждого порта свое окно. Как создавать новое окно в новом потоке, чтобы там обрабатывались все его обработчики?
|
|
Doga |
Отправлено: 14.03.2006, 14:34 |
|
Мастер участка
Группа: Участник
Сообщений: 575
|
Може лучше наоборот, новый поток в новом окне?
|
|
olegenty |
Отправлено: 14.03.2006, 14:44 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
VCL не позволяет создавать окна в потоках.
|
|
Giny |
Отправлено: 14.03.2006, 14:54 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 23
|
Спасибо за ответы, я подозревал об этом, мои опасения подтвердились.
|
|
Konstantine |
Отправлено: 14.03.2006, 17:51 |
|
Мастер участка
Группа: Модератор
Сообщений: 545
|
окна-то окнами — они должны быть лишь в главном потоке...
но вот в каждом дочернем окне — можно держать сцылку на работающий поток... и управлять/отображать его свойства
|
|
Giny |
Отправлено: 14.03.2006, 19:54 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 23
|
Думаю буду делать так: Для каждого дочернего окна создается поток
void __fastcall СhildClassName::Execute()
{
do
if (<приняты_данные>) Synchronize(<отобразить_данные>);
if (<передаются_данные>) Synchronize(<передать_данные>);
...
while (!Terminated || .. );
Synchronize(..);
}
В главном потоке только устанавливать фажки:
<приняты_данные>
<передаются_данные>
а основную обработку проводить в:
<отобразить_данные>
<передать_данные>
|
|
flint |
Отправлено: 16.03.2006, 08:41 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 58
|
Может, кто-нибудь подскажет...
Я создаю новый поток в приложении.
А при нажатии alt-ctrl-del, и меняя приоритет процесса с именем моего прилжения меняется и приоритет потока, который я создаю.
Как это объяснить?
Получается что-ли поток моего приложения и поток который я создаю должны иметь один приоритет? Или поток, который я создаю — часть приложения, и выделить его в отдельный процесс нельзя?
Помогите разобраться... |
|