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