![]() |
Модераторы: Snowy, Poseidon, MetalFan |
![]() ![]() ![]() |
|
Desperate |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 11.10.2006 Репутация: -1 Всего: -1 |
Приветствую Вас! Такая проблема, Когда качаю файл с помощью WinInet функций, происходит намертво зависание, пока файл не докачается, как от этого избавиться? И как можно прервать процесс закачки?
|
|||
|
||||
ilyalyu |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Использовать поток (TThread).
> И как можно прервать процесс закачки? Поискать что-нибудь типа метода disconnect ![]() |
|||
|
||||
Matematik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 24 Всего: 50 |
см.
InternetSetStatusCallback() |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Либо использовать в асинхронном режиме, либо выносить в отдельный тред.
Второе, ИМХО, лучше. |
|||
|
||||
Desperate |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 11.10.2006 Репутация: -1 Всего: -1 |
Это как? Сорри, не очень понимаю! |
|||
|
||||
Matematik |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 24 Всего: 50 |
Многопоточность - как это делается в Дельфи. Не используйте потоки, не прочитав это Это сообщение отредактировал(а) Matematik - 29.12.2006, 21:49 |
||||
|
|||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Я тут как-то набросал компонентик.
Это пока черновик, но с http и https вроде работает. Бросаешь на форму, назначаешь события, даёшь комманду вида
Пока сыровато, но работает. Позже доработаю пул, докачку и ftp. Присоединённый файл ( Кол-во скачиваний: 49 ) ![]() |
|||
|
||||
Desperate |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 11.10.2006 Репутация: -1 Всего: -1 |
А для WinInet работает? А то у меня тут такое дело, ссылка на файл заканчивается так ...action=download&id=21254
если через функции Indy то не качается, ошибка, а если WinInet то свободно все качается! |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
||||
|
||||
Desperate |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 11.10.2006 Репутация: -1 Всего: -1 |
Да, это я внимания не обратил!
![]() |
|||
|
||||
Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: нет Всего: 34 |
Snowy, у тебя есть утечка в компоненте..
![]() |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
||||
|
||||
creas0ft |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 5.8.2006 Где: Саранск Репутация: 2 Всего: 2 |
А как бы Post к нему и прокси все же прикрутить?!
--------------------
Форум программистов уклонистов в сторону сео-шмео |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
POST - без проблем: http://forum.vingrad.ru/index.php?showtopi...t&p=1040527
А вот прокси я ещё не отработал. У меня нет прокси - нужно ставить. Всё руки не доходят... |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
простите за шевеление трупов, но почему второе лучше??? -------------------- There are always someone smarter than you... |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Потому что надёжней и строго подчиняется логике программы.
А вообще на данную тему немало копий сломано. Собственно причина та же, что и у асинхронных сокетов. В частности в книге по Indy с особой любовью расписано, почему асинхронная работа отстой. Да и во многих статьях по сокетам расписывают минусы микрософтовского асинхронного механизма. У меня нет желания ворошить то, чего в инете и так вагонами написано. |
|||
|
||||
Desperate |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 11.10.2006 Репутация: -1 Всего: -1 |
Да через Трэды нормал все!
|
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
Snowy, эх, хотябы пару ссылок... очень интересно
![]() -------------------- There are always someone smarter than you... |
|||
|
||||
aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 9 Всего: 38 |
Snowy, я же тебе на эту тему писал... Счас уже и не вспомню что именно... Насколько помню - не было освобождения строк... -------------------- ![]() |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Ну, код открытый. Мог бы и поправить ;-)
У меня просто на всё рук не хватает. Точнее руки ![]() |
|||
|
||||
aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 9 Всего: 38 |
Так я вроде даже писал тебе... Сейчас уже трудно вспомнить... Постараюсь на днях еще раз посмотреть что и где правил... -------------------- ![]() |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
и все таки хотелось бы аргументы... -------------------- There are always someone smarter than you... |
|||
|
||||
aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 9 Всего: 38 |
Такой аргумент подойдет: в треде все действия происходят в одном месте, а в асинхронном запросе в разных местах, т.е. запрос происходит в одной части кода, а обработка результата в другой. Эту уже само по себе минус (во всяком случае, для меня). В дополнение - каким способом проще сделать последовательные запросы? Т.е., когда последующий запрос зависит от результатов предыдущего. Имхо, в треде проще... -------------------- ![]() |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
aktuba, в каких таких разных местах? )) в разных потоках всмысле?
ну это да... лично для себя я считаю минусом асинх.режима в вининет то, что в итоге всеравно приходится в своем (собственноручно созданном) потоке данные читать... так что в принципе согласен, что асинхронность функциям ВинИнета пользы не особо добавляет( -------------------- There are always someone smarter than you... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Сети" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |