Главная страница
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.021 c
3-88755
Ziplex
2002-06-04 13:13
2002.06.27
Ребята как отфильтровать данные в TQuery.


1-88878
Сатир
2002-06-13 15:57
2002.06.27
class function


3-88740
onix
2002-06-04 10:35
2002.06.27
Вопрос по MS SQL 6.5


1-88949
Прохвессор
2002-06-15 21:02
2002.06.27
Zip


1-88823
Darij
2002-06-17 05:47
2002.06.27
Запуск DLL из командной строки