Forum: Object-Pascal / Delphi-Language
Delphi
by Der schöne Günther,
7. Jul 2016
Das mit dem IPrinter sollte nur verdeutlichen dass wir es u.U. nicht nur mit ein paar Byte für die Closure sondern evtl. mit richtig dicken Brocken zu tun haben ;-)
Ich bedanke mich noch einmal ganz herzlich bei allen :thumb:
Ich hatte gestern wohl einen schlechten Tag und irgendwie übersehen dass das explizite "Nil-Setzen" der Variable Abhilfe schafft.
Da ich keinen Assembler verstehe...
Forum: Object-Pascal / Delphi-Language
Delphi
by Der schöne Günther,
7. Jul 2016
Ich bin halt Energiesparer.
(Quelle)
Forum: Object-Pascal / Delphi-Language
Delphi
by Der schöne Günther,
6. Jul 2016
Ich ... Ich war mir sicher dass ich das "Auf nil setzen" als erstes probiert hatte und es keine Abhilfe brachte. Hier in diesem Beispiel tut es das aber einwandfrei. Tolle Sache, vielen Dank!
Ich probiere morgen noch einmal mein Echtwelt-Beispiel aus, ob es da auch hilft.
Forum: Object-Pascal / Delphi-Language
Delphi
by Der schöne Günther,
6. Jul 2016
Zum Abend noch etwas eher Esoterisches:
Ein schlauer Kerl hatte hier nie die Speicherleck-Prüfung an. Ich schalte sie ein und
sehe dass dieses Konstrukt hier jedes mal eine TPrinter-Instanz und eine myClosure-Methode leaked. Letztere ist rekursiv und erhöht somit ihren eigenen Referenzzähler. Sie selbst hat aber natürlich auch eine Referenz auf den IPrinter weshalb dieser ebenfalls nie tot...