![]() |
|
|
![]()
|
|
| deniska |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 398 Регистрация: 1.7.2005 Где: Троицк Репутация: нет Всего: 0 |
1. при создании модуля потока там пишется что для корректной работы с компонентами VCL надо пользоваться Synchronize(func). у меня в отдельном потоке происходит работа с сервером и запись временных результатов на форму и отдельный поток я хочу использовать для того чтобы форма не замерзала, однако при пользовании Synchronize(func) именно это и происходит. при простом обращении к func форма не замерзает, но я боюсь что могут быть какие нибудь глюки.
может я просто както не так работаю с потоком или это такой глюк борланда? 2. надо ли пользоваться Synchronize() при обращении в отдельном потоке к объекту TIdTCPClient/TIdTCPServer? Заранее спасибо |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: нет Всего: 102 |
может имеет смысл TCP клиент и сервер создавать и управлять им как раз из созданного потока?
Добавлено @ 10:13 а использовать Synnchronize нужно при любом обращении к компонентам VCL из дочернего потока. -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| deniska |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 398 Регистрация: 1.7.2005 Где: Троицк Репутация: нет Всего: 0 |
а как это сделать? я начинающий программист но насколько я понимаю, такие объекты создаются автоматически, при создании формы, и на сколько я понимаю, ведь этот объект (IdTCPClient) добавляется на форму, а значит принадлежит ей. Управлять то я ими управляю из своего потока, но, повторюсь, форма при этом замерзает, например при долгом коннекте (если криво адрес набрать) |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: нет Всего: 102 |
приплюснутые скоро появятся, расскажут, я больше по дельфям... но думаю разницы иникаой нет: создавай idTCPClient во время инициализации потока и создавай его не на форме, а в потоке.
-------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
возможно, эта статья будет полезна
http://mbo88.narod.ru/ToC.html там про Delphi, но даже не заглядывая в примеры исходников (а больше значительных отличиц у Builder'а и нету), можно все понять... Добавлено @ 11:22 ну и самый простой способ (который, конечно же, не всегда работает) - вставлять во всяких долгих циклах Application->ProcessMessages() -------------------- qqq |
|||
|
||||
![]()
|
| Правила форума "С++ 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. |