Hallo
Ich wollte mit privat schnell mal Währungskurse holen mit Fixer.io
API.
Delphi-Quellcode:
procedure TFrmMain.Button1Click(Sender: TObject);
Var
LHttp: THttpClient;
LResp: IHttpResponse;
LJObj: TJSonObject;
LJRates: TJSonObject;
LUrl: string;
I: Integer;
begin
LUrl := BaseUrl + 'latest?access_key=' + Key + '&symbols=USD,GBP,NOK,HKD&format=1';
LHttp := THTTPClient.Create;
try
LResp := LHttp.Get(LUrl);
LJObj := TJSONObject.ParseJSONValue(LResp.ContentAsString(TEncoding.UTF8)) as TJSONObject;
try
LJRates := LJObj.GetValue<TJSONObject>('rates');
try
for I := 0 to LJRates.Count - 1 do
begin
Memo1.Lines.Add(LJRates.Pairs[I].JsonString.Value);
Memo1.Lines.Add(LJRates.Pairs[I].JsonValue.Value);
end;
finally
LJRates.Free;
end;
finally
//LJObj.Free;
end;
finally
LHttp.Free;
end;
end;
Will ich LJObj freigeben, erhalte ich eine
AV.
LJRates kann ich freigeben.
Aber was ich auch mache, am Ende erhalte ich beim Verlassen Memory Leaks.
Was mache ich falsch?
Danke
Frank