привожу код httpcli1 это с компонентов ICS Code: procedure TForm1.Button1Click(Sender: TObject); var sData : string; Datax : TStringStream; begin Datax := TStringStream.Create(''); sData :='a=55'; httpcli1.Proxy:='127.0.0.1' ; httpcli1.ProxyPort:='81'; HttpCli1.SendStream := TMemoryStream.Create; HttpCli1.SendStream.Write(sData[1], Length(sData)); HttpCli1.SendStream.Seek(0, 0); httpcli1.RcvdStream := Datax; HttpCli1.URL :='http://ima.com/index.php'; HttpCli1.Post; dounl:=Datax.DataString; HttpCli1.RcvdStream.Free; HttpCli1.RcvdStream := nil; HttpCli1.Free; ShowMessage(dounl); end; Процедура выполняеться один раз , когда повторно нажимаю на кнопку программа пишет об ошибке и вылетает
Если на форме присутствует компонент HttpCli1, то нафига его уничтожать с помощью Free? При первом проходе все будет ОК, однако в конце происходит освобождение памяти из-под него. Поэтому при втором нажатии бАттона HttpCli1 будет уже отсутствовать. Естественно, выдаст ошибку
Вощем студент убирай эту строчку HttpCli1.Free; и всё будет оФФигенно =) ИМХО объекты которые у тебя на форме уничтожать ненадо
лучше, наоборот снеси с формы и сначала создавай серез HttpCli1:=THttpCli1.Create(self), а потом как отработает разрушай через HttpCli1.Free Зочем так? А зотем, что что это за компонент я хз, но например в индейцах есть проблема при повторном коннекте с одного и того же компонента))