AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi EigenesObjekt.free - klappt nicht so richtig???
Thema durchsuchen
Ansicht
Themen-Optionen

EigenesObjekt.free - klappt nicht so richtig???

Ein Thema von Portabella · begonnen am 15. Jul 2004 · letzter Beitrag vom 15. Jul 2004
 
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: EigenesObjekt.free - klappt nicht so richtig???

  Alt 15. Jul 2004, 12:20
Die Kombination auf .free und := NIL führt letzendlich zum Erfolg

Delphi behält freigegebenen Speicher noch etwas, für den Fall dass der in Kürze wieder gebraucht wird. So muss dieser nicht immer neu alloziiert werden -> schneller. Somit sind die Adressen deines Objektes noch gültig, auch wenn du es schon gefreet hast. Setzt du aber gleich noch Objekt := NIL, dann ist sicher gestellt, dass du nicht mehr auf ein eigentlich nicht mehr existierendes Objekt zugreifen kannst. Ab Delphi 6 oder 7 gibts auch die Methode FreeAndNil(TObject). Die macht intern nichts anderes als das was ich grad schrieb sieht nur schicker aus.

\\edit: Nur mit Objekt := NIL erzeugst du dir nen Speicherleck. D.h. du hast keinen Verweis mehr auf das Objekt, aber der Speicher wurde auch nicht freigegeben. Somit bleibt der Speicher bis zum Programmende belegt, und du kommst nie wieder dran. Das wäre die schlechteste Lösung. Java hingegen erkennt dass, und gibt den Speicher selbst frei sobald kein Zeiger mehr darauf existiert. Auch .NET arbeitet so (GarbageCollection bzw. Referenzzählung sind die Stichworte, und datt gibbet bei Win32 (mit Ausnahmen) nicht).

gruss,
dizzy
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz