Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.06.27;
Скачать: [xml.tar.bz2];

Вниз

Проблема при закачке нескольких файлов по протоколу HTTP   Найти похожие ветки 

 
Reals   (2002-06-17 17:08) [0]

Помогите пожалуйста решить ситуацию.
Сразу скажу, что при закачке одного файла, все работает отлично.
Проблема появляеться если количество закачиваемых файлов больше 1.
Для закачивания фалов я использую одну библиотеку, при помощи которой это осуществляеться.
Вот пример кода:
var HttpGet: THTTPGet; //Из дополнительной библиотеки
FilesDownload: TStringList;
...
//Переменная FilesDownload заполнена списком скачиваемых файлов.

for i:=0 to FilesDownload.Count-1 do begin
HttpGet := THTTPGet.Create(Self);
HttpGet.URL:= FilesDownload.Strings[i];
HttpGet.FileName:= "Имя_локально_создаваемого_файла";
HttpGet.GetFile;
HttpGet.Free;
end;

Также проиходит обработка событий OnProgress и OnDoneFile
В событии OnProgress присваюваються значения ПрогрессБара.
Событие OnDoneFile срабатывает когда закончена закачка файла.

Теперь по поводу ошибки. Если в переменной списка FilesDownload только одна запись, то есть одна ссылка для скачивания файла, то все проходит отлично. И соотвественно также пройдет без ошибок, если цикла не будет.
Но если цикл проходит более одного раза, то программа выдает ошибку, зависает и выгружаеться сама.
Я понял, что у меня написано не правильно, у меня обьект уничтожаеться когда еще закачка файла не закончена и создаеться заново для нового файла. Это есть не правильно.
Подскажите пожалуйста, как правильно организовать мне загрузку несколько файлов по очередно? Нужно дождаться выполнения текущего обьекта и только после этого идти дальше по циклу. Подскажите, кто знает, как это сделать?

P.S. Почему в цикле происходит создание и уничтожение обьекта? Потому что если один раз создать обьект и потом в нем только менять значения ссылок и вызывать процедуру закачки, то тогда программа зависает. Я заметил что один экземпляр обьекта работает только на одну ссылку.

Заранее благодарен!


 
lipskiy   (2002-06-17 17:32) [1]

HTTPGet - кривой компонент, не юзай его.
Я использую HTTPCli из библиотеки... кажется HTTPProt.


 
Reals   (2002-06-17 17:42) [2]

А все-таки как можно осуществить поочередную закачку с использованием одного компонента?



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.06.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
1-88885
sasa2001
2002-06-14 13:19
2002.06.27
Кто нибудь пробовал писать масрос в Excel для создания xml-datapa


3-88757
whois
2002-06-04 17:38
2002.06.27
ещще раз JPEG в БД


7-89062
gamers_must_die
2002-03-31 18:58
2002.06.27
Как отслеживать запуск программ?


1-88825
cyborg
2002-06-14 12:58
2002.06.27
Создатьь файл


14-89037
Kozhanov
2002-05-13 14:45
2002.06.27
need some help





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский