![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| AriX |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 16.6.2003 Репутация: 5 Всего: 19 |
Вот утрированный код
В Memo1 содержится список урлов. При нажатии на кнопку запускается несколько потоков, каждый из которых скачивает определенную страничку. По завершении скачивания в Memo2 пишется урл скаченной странички. IdHTTP - это из Indy Clients Вся проблемы в том, что потоки не завершаются! Т.е. они завершаются, кроме одного. И получается, что до нажатия на кнопку есть только один основной поток - а после скачивания их уже два. Причем если, например, закоментировать строчку
Что тут можно сделать? Заранее ОГРОМНОЕ Спасибо!!! |
||||||
|
|||||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
А в мемо у тебя результат от всех потоков приходит ?
-------------------- С уважением, г-н Посол. |
|||
|
||||
| AriX |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 16.6.2003 Репутация: 5 Всего: 19 |
p0s0l
Ага. Т.е. если в Memo1 написано например:
то в Memo2 выводится примерно следующее (порядок может быть разным, в зависимости от скорости скачивания страницы):
Т.е. до Synchronize дело доходит. Но поток не завершается. |
||||
|
|||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
Список дай...
-------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
А если принудительно завершить поток после вывода в Memo ?
Т.е. будет так: Synchronize(UpdateCaption); ExitThread(0); Хотя конечно лучше бы выяснить, почему поток не завершается... ЗЫ: как ты определяешь кол-во потоков в процессе ? -------------------- С уважением, г-н Посол. |
|||
|
||||
| AriX |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 16.6.2003 Репутация: 5 Всего: 19 |
Girder
Не понял
WinXP p0s0l Попробовал ExitThread(0) - тоже самое :-/
Прогой AnVir Task Manager (http://anvir.com/) Вот на всякий случай моя прога (хотя она вся в первом посте Там только в коде потока надо убрать параметры проксика.. Кстати, может из-за соединения через проксик такое? |
||||||
|
|||||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Вот у тебя осталось 2 потока, если еще раз прогонишь закачку - сколько в итоге останется: 2 или 3 ?
Если 2, то возможно IdHTTP создаёт вспомогательный поток (для чего-нибудь)... Прогу позднее гляну... -------------------- С уважением, г-н Посол. |
|||
|
||||
| AriX |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 16.6.2003 Репутация: 5 Всего: 19 |
После повторного запуска остается 2 потока.
Вероятно и правда дополнительный. А как его можно завершить? Или можно не беспокоится - пусть будет? |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Наплюй на эти потоки - они создаются системой, значит нужны.
Даже такой код у меня создаёт 2 дополнительных потока:
socket(AF_INET, SOCK_STREAM, IPPROTO_IP); -------------------- С уважением, г-н Посол. |
|||
|
||||
| AriX |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 16.6.2003 Репутация: 5 Всего: 19 |
p0s0l
Ок, забью СПАСИБО ОГРОМНОЕ!!!! Добавлено @ 23:09 Млин, репутацию не могу повысить |
|||
|
||||
![]()
|
| Правила форума "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. |