Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2012, 18:04   #1
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
Радость как не ждать окончания процедуры(функции)?

Привет!надоел наверно с вопросами ,но все же.Как не дожидаться пока окончиться процедура а делать дальше в частности вот :
пишу программу для работы с сайтом на форме один idhttp с помощью него авторизуюсь и т.д далее начинаеться работа(парсинг и т.д) ну и вот все это делаеться медленно решил создать массив из Tidhttp и сделать их = единственному на форме idhttp т.к они автоматически станут авторизованными ну и вот думал оооо щас в раз пять быстрей работать будет ,а потом вспомнил про ожидание завершения и огорочился
ну дак вот может кто нибудь знает как можно не ждать выполнение процедур в частности get post запроса у idhttp
Кольша вне форума Ответить с цитированием
Старый 26.01.2012, 18:23   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вынести их в поток.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.01.2012, 18:47   #3
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

НЕ В ПОТОКЕ ТАКЖЕ
Кольша вне форума Ответить с цитированием
Старый 26.01.2012, 19:11   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

что именно вы хотите то?
вам всеравно ждать ответа от сервера хоть ты тресни.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.01.2012, 20:29   #5
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

у меня массив idhttp так!
ну задал я задание первому пусть он его выполняет ждет ответ пусть хоть free'книться ,а я пока остальным задачу дам P.S действия выполняються в цикле repeat until
Кольша вне форума Ответить с цитированием
Старый 26.01.2012, 20:38   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

создайте массив потоков, которые будут выполнять нужный вам запрос.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.01.2012, 20:40   #7
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

кхкх... это уж слишком муторно ну да ладно просто для развития спросил буду знать
Кольша вне форума Ответить с цитированием
Старый 26.01.2012, 20:43   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это единственный вариант(асинхронные вопросы так же работают).

остальное просто замаскированный этот.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.02.2012, 12:30   #9
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Ну да единственный но в нем есть загвоздка пишу программу и сам как то особо не задумываясь(ну писал что бы программа не висла) написал что то типа этого и в и тоге получилось так есть два потока в первом циклы while do and for to do ну и вот в цикле for у меня вызывается поток 2 и в итоге программа окончательно зависает
вот пример
Код:
.....
while work do begin
for i:=0 to ... do
if ... then
potok2begin(param)
end;
Кольша вне форума Ответить с цитированием
Старый 02.02.2012, 10:43   #10
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

ТС, сформируйте четко вопрос и задайте его здесь. Что конкретно интересует? Не знаем природу потоков и кода? С чего вы взяли, что идхттп должны САМИ что-то делать ПАРАЛЛЕЛЬНО с остальным кодом? Код выполняется сверху вниз построчно, слева направо. И пока ваш идхттп1 не выполнит свой код, ничего выполняться наперед не будет. Читайте, как правильно работать с потоками. И изучайте ООП.
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как написать задание через процедуры/функции sanyok1992 Паскаль, Turbo Pascal, PascalABC.NET 2 06.05.2011 15:50
Как добавить к концу нескольких слов одинаковые окончания kisa2010 Помощь студентам 20 03.06.2010 14:21
Как добавить к концу нескольких слов одинаковые окончания kisa2010 Microsoft Office Word 2 03.06.2010 13:09
как заменить некоторые операторы на процедуры и функции в паскале.Очень нужно! Анастасия1902 Помощь студентам 2 23.02.2010 17:18
Подскажите, как в консольном приложении заставить программу ждать нажатия клавиши(си)) Александр Елис Помощь студентам 2 19.09.2009 19:38