Forum: Object-Pascal / Delphi-Language
Delphi
by Der schöne Günther,
21. Sep 2021
Die Erklärung ist man dir etwas schuldig geblieben:
Du hast völlig Recht wenn du meinst dass eine Variable vom Typ "Interface" automatisch freigegeben wird wenn ihr Referenzzähler auf Null geht. Bei einer lokalen Variable ist das üblicherweise der Fall wenn der Gültigkeitsbereich (for-Schleife, begin/end-Block, ...) zu Ende ist.
Nicht der Fall ist das natürlich wenn die Referenz noch...
Forum: Object-Pascal / Delphi-Language
Delphi
by Der schöne Günther,
21. Sep 2021
Ohne mir den Quellcode jetzt genauer angesehen zu haben wären mein spontaner Verdacht zirkuläre Referenzen: Angenommen ein ITerm a verweist auf einen Term b und der verweist auch wieder auf a.
Angenommen in deinem Code interessiert sich mittlerweile niemand mehr für a oder b bekommen beide doch niemals ihren Referenzzähler auf Null und werden somit nie gelöscht.
Es gibt verschiedene Auswege...