Announcement

Collapse
No announcement yet.

IdHTTP Response Problem

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • IdHTTP Response Problem

    Hi, ich versuche folgendes:
    Wenn der Host nicht erreicht ist dann soll die Funktion es ca. 3 mal probieren. Wenn es dann nicht klappt, soll ein Standard wert zurückgegeben werden. Das funktioniert zwar mit Strings aber mit dem MemoryStream und der Stringlist irgendwie nicht... Stattdessen gibt es einen Programm absturz...
    Was mache ich falsche?

    &nbsp;&nbsp;//Daten senden<br>
    &nbsp;&nbsp;Response := TMemoryStream.Create;<br>
    &nbsp;&nbsp;StrResponse := TStringList.Create;<br>
    &nbsp;&nbsp;try<br>
    &nbsp;&nbsp;&nbsp;&nbsp;IdHTTP.Request.ContentT ype := 'application/x-www-form-urlencoded';<br>
    &nbsp;&nbsp;&nbsp;&nbsp;IdHTTP.Post(URL,Data,Respo nse);<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;Response.Position := 0;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;StrResponse.LoadFromStream (Response);<br>
    &nbsp;&nbsp;&nbsp;&nbsp;Result := StrResponse;<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;Response.Free;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;except<br>
    &nbsp;&nbsp;&nbsp;&nbsp;//Maximal 3 Versuche werden durchgeführt<br>
    &nbsp;&nbsp;&nbsp;&nbsp;If TryNr <= 3 then begin<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StrResponse.Fr ee;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Free; <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PostRequest(UR L,Data,TryNr+1);<br>
    &nbsp;&nbsp;&nbsp;&nbsp;end else begin<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StrResponse.Cl ear;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StrResponse.Ad d(':FALSE:');<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result := StrResponse;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Free; <br>
    &nbsp;&nbsp;&nbsp;&nbsp;end;<br>
    &nbsp;&nbsp;end;<br>
Working...
X