Подскажите с Indy. Посмотрел нашел только потоки..
почему нельзя послать несколько запросов с IdHTTP1.Post одной кнопкой? Мне надо около 100 запросов.. если кидать на форму 100 компонентов IdHTTP1.Post этож... капец..
а мне надо ещё с разными параметрами...
и ругается... Access Violишн по адресу 00000000
я так понимаю что всё изза IdHTTP1.Post
если уж нельзя так. подскажите что нить альтернативное плиз.
Спс!
Так что тебе мешает запустить эти запросы в потоках?) и вообще у тебя код какой-то кривоватенький...
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
1) а без потоков как быть (с потоками не разобрался пока ещё...)?
2) ну код работает нормально.. если только 2 штуки IdHTTP1.Post кинуть на форму ну и подправить нумерацию..
Зачем кидать на форму? Можно прямо в программе создать нужно количество(динамическое создание, о как ).
На примере TButton это выглядит вот так:
Код:
var
a: array[1..100] of TButton;
begin
for i := 1 to 100 do
begin
a[i] = TButton.Create(nil); // Теперь можно выполнять все действия, что и с обычной кнопкой
a[i].caption := "Button " + inttostr(i); // Пример изменения текста на кнопках
end;
end;
Почитать может хотя бы здесь: [Ссылки могут видеть только зарегистрированные пользователи. ]
А что мешает http.post() кинуть в цикл и не морочить себе голову совсем?
Копипаст, который в первом посте так и должен был себя вести. Никогда не работал с сетью в Delphi, но предположу, что нужно после каждой посылки очищать запрос, хотя...
В цикле не работает! пишет Акцесс виолишн адрес 0000000, с потоками так и не разобрался..
1)создаю поток. там прописываю то что надо отправить
2) В программе вызываю поток.
3) мне надо изменить данные в отправке.. это ведь надо в потоке менять..
кароче сколько бьюсь не могу понять. как вот это в потоке поменять?
На какой из команд происходит Access Violation при циклах, или как в самом начале ты написал? Попробуй отдебагать(F7/F8 и т.д.) программу и найти эту строчку. это хоть что-то даст.
Можно справится одним IdHTTP, да.(Один из вопросов был, как сделать 100 idHTTP)
В каждом запросе данные разные, приглядись(не понятно почему, но в первом сообщении запросы одинаковые). Так что и твоя реализация на циклах отпадает.
Можно попробовать написать процедуру, которая заполняет все-это особым образом(если это возможно)
var
s:TStringList;
i:integer;
begin
for i=1 to 100 do
begin
s.Create;
s.Add('b='+inttostr(i));
s.Add('uid=54776');
s.Add('session_key=4');
s.Add('auth_key=4');
s.Add('app_id=277504');
s.Add('ndb=5');
s.Add('c=all');
s.Add('vid=179771652096');
try
IdHTTP1.Post('site',s);
finally
s.Free;
end;
end;
end;
нельзя?
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Ничем не отличается от кода выше, но лишние 99 раз заполняешь p1
А как же?:
Код:
s.Add('b='+inttostr(i));
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.