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

Вниз

блокируется Интернет при использовании компонента IdHttp   Найти похожие ветки 

 
Delphi5.01   (2003-11-30 22:08) [0]

Доброе время суток уважаемые программисты!
Почему при использовании компонента IdHttp и его функции Get(Url: String), блокируется Интернет а именно если в программе до этого было запушено закачивания файла то оно приостанавливается до того времени пока новое закачивание не закончится! Как можно заставить работать параллельно нескольким закачкам! Возможно есть смысл использовать потоки, и каждое действие разместить в разные потоки (но в этом я не вижу решение проблемы, по моему проблема не решится используя потоки! или я не прав!).
Спасибо.


 
Digitman   (2003-12-01 09:05) [1]


> или я не прав


не прав. как раз доп.код.потоки и решают задачу


 
nikkie   (2003-12-01 14:15) [2]

я бы не стал говорить, что "блокируется Интернет", если блокируется всего-навсего таже самая программа


 
Delphi5.01   (2003-12-01 21:45) [3]

Spasibo za pomosh popitaus reshit deolo potokami! esli chto ne budet rabotat to nadeus ia smogu obratitsa k vam? :-)))
Spasibo za udelonnoe vnimanie!


 
Delphi5.01   (2003-12-03 23:20) [4]

Доброе время суток!
К сожалению результат не получен! Привожу пример:

Get:=TDownloader.Create(True);
Get.SetUrlValues(" http://welcome.online.ge/vdialpro.html","","",2);
Get.Priority:=tpIdle;
Get.Resume;

проблема та же, сначала закачивается один файл, а уж потом другой, не смотря на то что запушено два потока, по какой-то причине второй поток (а так не должно быть) начинает работать только после закачивания первого!
Привожу текст потока:

procedure TDownloader.DoWork;
begin
GetText(PUrl,PUserName,PPassword,PThreadIndex);
end;

procedure TDownloader.Execute;
begin
Synchronize(DoWork);
end;

procedure TDownloader.SetUrlValues(Url: String;
UserName: String;
Password: String;
ThreadIndex: Integer);
begin
PUrl:=Url;
PUserName:=UserName;
PPassword:=Password;
PThreadIndex:=ThreadIndex;
end;

Пожалуйста помогите решить проблему!
Спасибо за помощь


 
nikkie   (2003-12-04 00:10) [5]

никогда так не делай:
procedure TDownloader.Execute;
begin
Synchronize(DoWork);
end;

скажи пожалуйста, ты этот код из книжки Архангельского взял?


 
Delphi5.01   (2003-12-04 07:11) [6]

Доброе время суток програмеры!
Я этот код взял с примера в интернете там так было написано! А что здесь и есть ошибка? Может подскажеш что надо писать? Например
while not Terminated do
Synchronize(DoWork);
Но мне кажется в моём случае в этом нет смысла по той причине что процедура испольняется только один раз.
Спасибо!


 
Геннадий   (2003-12-04 07:13) [7]

У тебя процедура, которая делает полезную работу находится в самом потоке (реализованиа в его классе). По-моему, она должна быть описана в другом классе, обычно в public твоей формы. Или нет?


 
Delphi5.01   (2003-12-04 16:05) [8]

Доброе время суток!
Мне кажется вы не совсем правы, какой смысл имеет переместить процедуру из потока в главную программу(это толь мои убежденияб но я все равно проверю)? Я убрал её специально чтоб не загрязняла главный модуль!
По моему надо искать другую причину, основываясь на отве Никки мы можем сказать что проблемма здесь
procedure TDownloader.Execute;
begin
Synchronize(DoWork);
end;

но к сожалению не приведен правильный код!
Спасибо за уделлённое время Генадий!
Если у кого есть еще кокиета соображения по этому поводу пожалуста высказывайте!


 
nikkie   (2003-12-04 20:52) [9]

>но к сожалению не приведен правильный код!
звучат фанфары, вся публика встала, аплодисменты и крики виват - встречайте! правильный код!
procedure TDownloader.Execute;
begin
DoWork;
end;


не из книжки, значит... не подтверждается тезис Игоря Шевченко.


 
Delphi5.01   (2003-12-05 07:12) [10]

Солют, браво, бравооооо, браво мастро!
Спасибо огромное!



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

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

Наверх





Память: 0.47 MB
Время: 0.03 c
14-16616
Евгыш
2004-01-15 10:18
2004.02.06
Обработка исключений


14-16699
Holy
2004-01-15 00:11
2004.02.06
---|Ветка была без названия|---


1-16485
Sash1
2004-01-27 10:52
2004.02.06
Проблема с record в property


14-16675
Думкин
2004-01-17 06:53
2004.02.06
С днем рождения! 17 января.


9-16017
pavel_k
2003-07-18 00:07
2004.02.06
Музыка в игре. mid и подобное





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский