AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wann .Free und wann .Destoy benutzen

Ein Thema von DelphiManiac · begonnen am 10. Jul 2007 · letzter Beitrag vom 11. Jul 2007
Antwort Antwort
Seite 1 von 3  1 23      
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#1

Wann .Free und wann .Destoy benutzen

  Alt 10. Jul 2007, 12:12
Hallo,
habe eine Frage zur Benutzung des Destuktors meiner Klasse.

ich kann ja folgendes schreiben:

meinObjekt.Free; oder ich rufe den von mir erstellten Destructor

meinObjekt.Destroy; auf...

Gut meine Frage nun, was macht .Free?
Setzt free nur die Objektreferenz auf NULL?
Oder ruft Free auf den Destruktor auf?

Danke schonmal
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Wann .Free und wann .Destoy benutzen

  Alt 10. Jul 2007, 12:14
Hallo!

hier findest Du des Rätsels Lösung

SCRaT
Michael Kübler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Wann .Free und wann .Destoy benutzen

  Alt 10. Jul 2007, 12:14
Nimm .Free. Hier werden verschiedene Test durchgeführt und dann .Destroy aufgerufen. man sollte .Destroy nie manuell aufrufen.
Markus Kinzler
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#4

Re: Wann .Free und wann .Destoy benutzen

  Alt 10. Jul 2007, 12:25
Danke,
war genau das was ich gesucht habe!!

Weiß jetzt auch wo mein Fehler war,.. habe in meine Klasse den Destruktor nicht überschrieben,
demzufolge wurde er auch nie aufgerufen...


Danke!
  Mit Zitat antworten Zitat
Benutzerbild von dajuhsa
dajuhsa

Registriert seit: 20. Apr 2007
397 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Wann .Free und wann .Destoy benutzen

  Alt 10. Jul 2007, 12:44
also ist XYZ.Free das gleiche wie if XYZ <> nil then XYZ.Destroy ?
das Essen ist wie das Internet - Downstream ist immer angenehmer als Upstream
-
Warum missbraucht die ganze Programmierwelt Images als Paintboxen
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Wann .Free und wann .Destoy benutzen

  Alt 10. Jul 2007, 12:47
Zitat von dajuhsa:
also ist XYZ.Free das gleiche wie if XYZ <> nil then XYZ.Destroy ?
Momentan ja, aber das kann sich theoretisch in kommenden Delphi-Versionen ändern oder in Delphi.NET anders implementiert sein Aber nach außen bleibt einfach immer der AUfruf zu .Free

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Wann .Free und wann .Destoy benutzen

  Alt 10. Jul 2007, 12:50
Ja :

Zitat von System.pas:
procedure TObject.Free;
begin
if Self <> nil then
Destroy;
end;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Wann .Free und wann .Destoy benutzen

  Alt 10. Jul 2007, 19:21
Zitat von sakura:
Momentan ja, aber das kann sich theoretisch in kommenden Delphi-Versionen ändern oder in Delphi.NET anders implementiert sein Aber nach außen bleibt einfach immer der AUfruf zu .Free
Wäre doch mal ein Ding, wenn die Free-Methode demnächst autmatisch den Zeiger auf nil setzt
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Wann .Free und wann .Destoy benutzen

  Alt 10. Jul 2007, 19:24
Zitat:
Wäre doch mal ein Ding, wenn die Free-Methode demnächst autmatisch den Zeiger auf nil setzt
Wird wohl nicht gehen. dafür gibt es ja aber FreeAndNil()
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Wann .Free und wann .Destoy benutzen

  Alt 10. Jul 2007, 19:46
Zitat von mkinzler:
Zitat:
Wäre doch mal ein Ding, wenn die Free-Methode demnächst autmatisch den Zeiger auf nil setzt
Wird wohl nicht gehen. dafür gibt es ja aber FreeAndNil()
ich würde es nicht pauschalisieren. Mit Compilermagic geht einiges. Siehe Strings und deren Handling.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 17:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz