AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Verständnisfrage: TJSONObject create/free/destroy?
Thema durchsuchen
Ansicht
Themen-Optionen

Verständnisfrage: TJSONObject create/free/destroy?

Ein Thema von SearchBot · begonnen am 26. Jul 2022 · letzter Beitrag vom 29. Jul 2022
 
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
328 Beiträge
 
Delphi 12 Athens
 
#9

AW: Verständnisfrage: TJSONObject create/free/destroy?

  Alt 26. Jul 2022, 15:01
Als Folge von Owned=false löst jetzt aber die Wertübergabe requestString:=json.ToString eine Zugriffsverletzung aus. Wieso?
Hab das TJSONArray nicht auf owned gesetzt.

@Himitsu: so tief will ich garnicht reingehen, aber trotzdem danke für diesen Tiefenblick.

Was wird eigentlich alles freigegeben, wenn die procedure zu Ende ist, in der ich die TJSON-Objekte erzeuge?
Wie kann ich messen, ob ich innerhalb einer procedure ein Speicherleck habe (ich habe bisher nur den Taskmanager beobachtet, wie sich der Speicher meiner App verändert)?

Edit:
Ich habe ein seltsamens Phänomen mit dem Inhalt von meiner json-Variable. Ich beobachte sie durch die Auswertung von json.toString.

Delphi-Quellcode:
    try
      jsonArr:= TJSONArray.Create;
      jsonArr.owned:=false;
      jsonArr.Add(p1);
      jsonArr.Add(p2);

      json.AddPair('path', jsonArr);
Bis hier steht in meinem json.toString:
'{"is_left_test_point":true,"installation_info":"" ,"path":[{"is_agc_on":false,"att_post":0,"eol":-7},{"is_agc_on":false,"att_post":0,"eol":1}]}'

Dann wird das ausgeführt:
Delphi-Quellcode:
    finally
     jsonArr.Free;
     jsonArr:=nil;
    end;
In dem Moment, wo jsonArr.Free gesetzt wird, ändert sich die json.toString zu:
'{"is_left_test_point":true,"installation_info":"" ,"path":{"is_left_test_point":true,"installation_i nfo":"",}'

Wie kann das denn sein?!?

Geändert von SearchBot (26. Jul 2022 um 15:13 Uhr) Grund: Neue Erkenntnisse...
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz