![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| Romero |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 17.6.2005 Репутация: нет Всего: 1 |
Использую для закачки файлов из Инета (FTP, HTTP) функцию InternetOpenURL.
Столкнулся с проблемой закачивания этой функцией файла из локального кэша. По-крайней мере, это единственное мое объяснение происходящего. Суть в следующем: успешно закачал определенный файл с FTP-сервера, затем изменил его на серваке и попытался закачать снова - получил старый (до изменения). Прокси отключен, IE качает с сервера правильную копию файла. Вопрос: правильно ли я грешу на локальное кэширование и как этого избежать? |
|||
|
||||
| greenpc |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 29.1.2007 Репутация: нет Всего: нет |
посмотри флаги
INTERNET_FLAG_PRAGMA_NOCACHE INTERNET_FLAG_RELOAD |
|||
|
||||
| Romero |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 17.6.2005 Репутация: нет Всего: 1 |
Решил при помощи установки флагов
INTERNET_FLAG_RELOAD | INTERNET_FLAG_DONT_CACHE в функции InternetOpenURL. Если вдруг кому понадобится рабочий код (на гениальность не претендую
|
|||
|
||||
| vovksextra |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 15.2.2008 Репутация: нет Всего: нет |
Код приятный - но если файлик большой и канал тонкий - то приложение не получит управления до момента получения файлика.
Я столкнулся с такой проблемой при разработке приложения, которое само себя обновляет. Даю ссылку на программулину, в которой есть очень много вкусностей. 1. Автообновление экзешника по http (тихое - незаметное для пользователя) 2. Удаленное получение инфы (много всяких интересностей) от абонента по UDP протоколу (без indy) Вообщем очень долго расписывать - кому интересно могут ознакомится с кодом здесь )) http://local.com.ua/forum/index.php?showtopic=10048&st=0 вообщем смотрим и делимся идеями PS Я здесь новичек (и не только здесь) и не заметил что на форуме есть пользователь Rouse. Приятно иногда посещать его сайтик. Спасибо за труд твой )). Это сообщение отредактировал(а) vovksextra - 15.2.2008, 12:41 |
|||
|
||||
| Romero |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 17.6.2005 Репутация: нет Всего: 1 |
Мое приложение служит для закачки файла по переданному из командной строки URL и выполнения действий ПОСЛЕ закачки, поэтому твое замечание не очень актуально
З.Ы.: Для ограничения времени на попытку подключения/закачку намеренно использовал не SetOption, а WaitForSingleObject, ибо первый механизм не работает (об этом даже на статью в MSDN натыкался). Это сообщение отредактировал(а) Romero - 15.2.2008, 16:44 |
|||
|
||||
| vovksextra |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 15.2.2008 Репутация: нет Всего: нет |
Если ты скачал проект - то мог увидеть модуль UpdateApplicationUnit в котором реализован целый класс, который делает тоже самое. ))))))))))) TDownLoadURL Пример использования класса (вырезка)
Обрати внимание на метод GetFile вот вырезка из описания метода
Обрати внимание на while PeekMessage(Msg, 0, 0, 0, PM_REMOVE) do begin TranslateMessage(Msg); DispatchMessage(Msg); вот впрочем то что я хотел сказать в своем предыдущем посте . Комментарий нужен ? Или сам поймешь ? PS И еще я не хочу вступать в диалог чей код лучше а чей хуже, со временем сам поймешь что это глупо. Я просто предложил еще один вариант. спасибо. Это сообщение отредактировал(а) vovksextra - 15.2.2008, 18:33 |
||||||
|
|||||||
| Romero |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 17.6.2005 Репутация: нет Всего: 1 |
Я и не собирался спорить по качественности подхода, мне избавляться от подвисания не нужно - потому и написал, что не актуально. В твоем коде все понятно, комментарии не нужны.
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |