Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#19

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

  Alt 28. Jul 2022, 09:59
[edit]
im Stacktrace nachschauen, was vor dem UStrAsg war?

UStrAsg ist z.B. ein StringVariable1 := StringVariable2;
[/edit]


Zitat:
Konstruktor-Aufruf IMMER vor dem try!
Im Prinzip stimmt die Aussage.

Erst nach "erfolgreichem" Create ist SL zugewiesen und Free kann auch wirklich was tun.
Alternativ kann man vor dem Try auch ein SL:=nil; einfügen, dann hat SL beim Free auch einen gültigen Wert, selbst wenn es im oder schon vorm Create knallt.

Und warum hört eigentlich nie jemand auf den Compiler, denn der sagt doch bestimmt, dass da was falsch ist.



Aber da es hier extrem unwahrscheinlich ist (außer das Programm war vorher schon im Arsch), dass hier das Create knallen würde, müßte Create bereits vorbei sein und es hatte danach geknallt.
Wenn es da also im Free abraucht, dann liegt es nicht am "ungültigen" SL, sonder würde eher z.B. für einen Bufferoverrun oder zerschossenen Stack sprechen ... so oder so ist da eh alles im A und alles Weitere wäre sinnlos.




Auch wenn es möglich wäre, ist es schon etwas unwahrscheinlich, dass es "wegen" FastMM knallt.
Eher war vorher schon ein Fehler da, der jetzt nur noch besser auffällt.
$2B or not $2B

Geändert von himitsu (28. Jul 2022 um 10:08 Uhr)
  Mit Zitat antworten Zitat