Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Object.Free ruft unter XE5 kein Destroy mehr auf!?

  Alt 21. Dez 2016, 02:01
ARC ist "aktuell" nur in den mobilen Platformen aktiv, also iOS und Android.
Aber wie der Name schon sagt, gibt da die Speicherverwaltung alles von selber frei, wenn keine Variable mehr auf das Objekt zeigt ... genauso wie es schon immer bei Interfaces der Fall ist.

Hat nur das "Problem" wenn man etwas wirklich genau an der Stelle freigeben will, da muß man dann eben bissl aufpassen, dass alle Variablen genilt werden,
oder Delphi-Referenz durchsuchenTObject.Release.

Meine (unprofessionelle) Fehlerbehebung sähe dann erstmal so aus:

In die eigene Unit kommt am Anfang ein {$UNDEF AUTOREFCOUNT} rein und/oder eventeull in der DPR des Programmes.
Klar muss man vorher schauen, ob und ggfls. welche Nebenwirkungen man damit verursacht, also mal schauen, wo überall AUTOREFCOUNT abgefragt wird.
NEIN.

Das ist erstens ein Compiler-Feature-Define, welches das angibt, was der Compiler macht und nichts was der Entwickler steuern kann/soll.
http://geheimniswelten.de/sonstiges/...piler/#Defines
Also egal ob du es umschreibst, der Compiler bleibt bei seinem Verhalten.
Und das Free interessiert deine Definition sowas von garnicht, da die System.pas erstens nicht neu kompiliert wird und zweitens kommt dein UNDEF dort garnicht an.
$2B or not $2B

Geändert von himitsu (21. Dez 2016 um 02:17 Uhr)
  Mit Zitat antworten Zitat