Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi [XE7] Bugfix für TRESTResponseDataSetAdapter (https://www.delphipraxis.net/183030-%5Bxe7%5D-bugfix-fuer-trestresponsedatasetadapter.html)

Sir Rufo 5. Dez 2014 12:49

[XE7] Bugfix für TRESTResponseDataSetAdapter
 
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;

Sir Rufo 17. Dez 2014 08:53

AW: [XE7] Bugfix für TRESTResponseDataSetAdapter
 
Der Vorgang hat es tatsächlich gestern schon bis zum Internal Dev geschafft ... nun ja, einen Fix haben die ja auch schon an der Hand.

Ich bin jetzt mal gespannt ob das noch den Weg in ein XE7 Update findet oder erst in ein XE8 Upgrade.

Daniel 17. Dez 2014 09:26

AW: [XE7] Bugfix für TRESTResponseDataSetAdapter
 
Wenn ich raten müsste, würde ich auf XE(7+1) tippen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz