![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
При чем здесь гуй? У меня в сабжевом потоке крутятся: - окно таймера - окно, к которому привязан IWebBrowser (да и сам IWB кучу всего похоже создает) - окно обслуживания синхронизации данных между потоками (что-то типа коллбаков хуков в Винде). И ничего из этого не является GUI. Но всем этим окнам нужно обрабатывать сообщения (особенно - второму и третьему). Добавлено через 1 минуту и 50 секунд
Только сейчас дошло: спасибо было сказано безо всякого подтекста - действительно за напоминание такой возможности. |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
ну понятно, но речь идет об отдельном потоке-таймере. если не хочешь - RegisterWaitForSingleObject
в чем проблема я не пойму?
-------------------- Обижено школьников: 8 |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Изначально речь шла о не-джентльменском поведении стандартного TTimer в потоке А потом уже Akella привел код потока-таймера. Я же (наверное, некорректно) написал, что такой подход не совсем вписывается в задачу моего потока. Да проблемы-то уже и нет, она решена
Просто было интересен код, который предложил Akella Вот беседа немножко и подзатянулась. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 8 Всего: 329 |
Обычно в потоке выполняют работу безо всяких окон. Это отдельный поток. У меня в отдельном потоке таким образом выполняется процедура экспорта в XML и отправка данных на хостинг. В другом приложении программа в отдельном потоке раз в минуту выполняет (образно говоря) idHttp.Get(...), при этом, пользователь спокойно работает с программой, даже не замечая, что выполняется что-то в отдельном потоке раз в минуту. или я тебя не понял? |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Да вроде всё правильно. Тем не более, я не согласен с утверждением У меня редко когда получается без них обойтись. Под "окнами в потоках" я понимаю всё созданное через AllocateHWND и/или CreateWindow[Ex]... |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
у меня чаще получается чем не получается, но у тебя же webbrowser control живёт в этом треде, а com-объекты требуют обработки сообщений в своём apartment-треде, тут ничего не сделаешь. смотри в сторону CoWaitForMultipleHandles или обрабатывай WM_TIMER руками -------------------- Обижено школьников: 8 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |