Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

[XE7] Bugfix für TRESTResponseDataSetAdapter

  Alt 5. Dez 2014, 12:49
Sodele ich habe mal dem Delphi-Referenz durchsuchenTRESTResponseDataSetAdapter das Leaking (RSP-9623) ausgetrieben.

Wer also damit auf einer NON-ARC-Plattform sinnvoll arbeiten möchte, der kopiert sich die beiden Units und baut sich den BugFix ein:
Delphi-Quellcode:
unit REST.Client;

function TCustomRESTResponse.HasJSONResponse: Boolean;
{$IFDEF USE_BUGFIX}
var
  LJSONValue : TJSONValue;
begin
  if not Assigned( FJSONValue ) then
    begin
      LJSONValue := TJSONObject.ParseJSONValue(Content);
      try
        Result := Assigned( LJSONValue );
      finally
        LJSONValue.Free;
      end;
    end
  else
    Result := True;
end;
{$ELSE}
begin
  Result := (FJSONValue <> nil) or (TJSONObject.ParseJSONValue(Content) <> nil);
end;
{$ENDIF}
und zusätzlich noch
Delphi-Quellcode:
unit REST.Response.Adapter;

destructor TCustomRESTResponseDataSetAdapter.Destroy;
begin
  {$IFDEF USE_BUGFIX}
  FreeAndNil(FJSONValue);
  {$ENDIF}
  inherited;
  FAdapter.Free;
  if FResponse <> nil then
    if FResponse.NotifyList <> nil then
      FResponse.NotifyList.RemoveNotify(FNotify);
  FNotify.Free;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat