AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Destructor notwendig bei class?
Thema durchsuchen
Ansicht
Themen-Optionen

Destructor notwendig bei class?

Ein Thema von Alex_ITA01 · begonnen am 13. Jun 2012 · letzter Beitrag vom 14. Jun 2012
 
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#11

AW: Destructor notwendig bei class?

  Alt 13. Jun 2012, 15:25
Zitat:
1. Ging es bei der Aussage nur um den Stil
Stil ist subjektiv, ich finde den Stil von Iwo Asnet besser.

Zitat:
2. Gibst du zwar jedes Objekt frei, dies allerdings indexbasiert. Löscht aber nicht im gleichen Zug den Index dazu aus der Liste. Dadurch sorgst du bewusst dafür, dass die Liste nicht mehr synchron, mit Elementen und darin enthalten Objekten, ist
Das ist auch nicht notwendig und solche Zustände sind im Programmablauf nur schwer zu vermeiden.
Das selbe Problem zwischen diesen beiden Zeilen in deinem Code:
Delphi-Quellcode:
    if Assigned(aObj) then FreeAndNil(aObj);
    Liste.Delete(0); //auch Listeneintrag löschen
Am Ende der Methode ist ein definierter Zustand erreicht, das ist wichtig.

Zitat:
3. Das Clear, das im Destruktor von TList aufgerufen wird, ist kein Freifahrtsschein dafür, sich nicht vernünftig um die Elemente der Liste, gerade beim Freigeben, zu kümmern
Hat niemand behauptet.

Zitat:
4. Wird das schon in der Vorlesung "Grundlagen der Informatik" gelehrt und ist in der Informatik allgemeingültig
Was meinst du mit "das"?

Wer so was lehrt, hat Schläge verdient:

if Assigned(aObj) then FreeAndNil(aObj);
  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 07:08 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