| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > Переконект в IdHttp |
| Автор: BeePer 19.2.2006, 01:46 | ||||
| Вобщем, есть компонет idhttp.. Один раз выполняет GET/POST запросы на ура, но если в этом же коде (напр Button1.Click) задать ещё один запрос, то прога виснет, а потом выдаёт ошибку, таймаута подключение (типа того что время ожидания закончилось), заметил, что второй раз он пытается приконектиться на локальный йп-шник, а не тот что в коде... Вот и вопрос: как такое исправить? Кто-нить знает? И тут же по теме ещё один вопросик:
|
| Автор: Snowy 19.2.2006, 09:38 |
| Это обычная загвоздка 9-й Indy. После отключения, контрол повторному использованию не подлежит. Создал, использовал, уничтожил. И т.д. Посмотри поиском по TIdHTTP - во всех примерах я всегда его создаю и уничтожаю. |
| Автор: Демо 19.2.2006, 12:44 |
| Snowy, Писал я повторно используемый код в Indy9, но сейчас уже не проверить, Indy9 уже нет. К сожалению, на Indy нельзя писать проеты, имеющие долгий срок жизни, так как любая следующая версия несовместима с ююбой предыдущей. А бывают критические ошибки, когда просто необходимо перейти на следущую версию, что приведет к переделке всего проекта. |
| Автор: BeePer 19.2.2006, 17:10 | ||||
| Я не в курсе, уничтожать idhttp, это free или destroy? И после уничтожения.. При создании нового ему надо уже другое имя давать или можно тоже? Ещё:
|
| Автор: Snowy 19.2.2006, 17:23 |
| http://forum.vingrad.ru/index.php?act=Search&CODE=show&searchid=75664f072e00dcffe8dc8ff290413f87&search_in=posts&result_type=topics&flag=search&debug=&highlite=idhttp%5C.get&skipped= |
| Автор: BeePer 19.2.2006, 20:26 | ||
| Так, вроде понял.. уничтожение - это free, ничего по вопросу создания нового компонента не нашёл.. ну ладно сам допру.. Но остался ещё один вопрос:
Первый раз код отрабатывает хорошо, но запустив его ещё раз (нажав кнопку), выдаёт ошибку "Access violation".. Я так понял, что удаляется какой-то компонент, а при повторном запуске он не создаётся.. но какой и где не знаю..? Посмотрите, здесь может быть ошибка? или это из-за другого чего-то? з.ы. не надо меня в поиск посылать, я им сам пробовал, но ничего не нашёл.. |
| Автор: Snowy 20.2.2006, 10:17 | ||
| Вообще убери IdHTTP1 с формы. Объяви его, как локальную переменную в процедуре. И еще. Нельзя уничтожить объект второй раз. Сначала создавай, потом уничтожай, но не наоборот. У тебя он сначала уничтожается, потом создается, потом опять уничтожается. Вполне понятно, что при втором запуске ты пытаешься уничтожить уже несуществующий объект. Получаешь ошибку. Добавлено @ 10:20
|
| Автор: BeePer 20.2.2006, 21:22 | ||||||||
| Snowy спасиб, те.. получилось)) Осталось два вопроса:
и
Спустя несколько часов.... Всё)) Сам сделал:
так тему мона закрывать, вопрос решён)) |