Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.27;
Скачать: CL | DM;

Вниз

Проблема при закачке нескольких файлов по протоколу 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
3-88736
PETR_
2002-06-04 11:18
2002.06.27
DBGrid и логические поля


14-88986
MBo
2002-05-24 12:03
2002.06.27
Очередная несложная разминка для начинающих ;)


14-89039
Злой, не скажу кто, причина известна
2002-05-26 11:26
2002.06.27
В мире полно лохов


1-88887
Vovka001
2002-06-12 14:39
2002.06.27
Печать из W98/2K..


1-88808
SVM
2002-06-16 01:18
2002.06.27
работа с TTreeView, народ очень надо...