Auch wenn es der Implementation-Teil ist, da schwebt ja eine globale Variable herum.
Die ist aber nur "pseudo-global", weil keiner von außen dran kommt.
Sie ist nur innerhalb der Implementation-Sektion sichtbar.
Wann wird die eigentlich freigegeben? Bei der Finalisierung der Units?
Ja!
Mein einziger Unterschied ist, dass ich daraus eine Klassenvariable von
TAppLayer
gemacht habe und zusätzlich noch einen Klassendestruktor der diese Referenz dann manuell freigibt. Bei dem Klassendestruktor frage ich mich jetzt aber genauso, wann der in Delphi eigentlich aufgerufen wird.
Daraus eine Klassenvariable zu machen ist unnötig.
Du kannst auch in Interfaces mit Propertys arbeiten.
Wenn dein Objekt auch bis zum Schließen der Applikation leben soll, dann bietet sich der oben aufgezeigte Weg an.