AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Objekte / Freigaben / Free / Nil
Thema durchsuchen
Ansicht
Themen-Optionen

Objekte / Freigaben / Free / Nil

Ein Thema von Alex_ITA01 · begonnen am 9. Okt 2013 · letzter Beitrag vom 10. Okt 2013
Antwort Antwort
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Objekte / Freigaben / Free / Nil

  Alt 10. Okt 2013, 12:35
Es gibt natürlich Gründe dafür, dass es so ist wie es ist und es gibt Alternativen mit jeweils Vor- und Nachteilen.

Aber eines kann man sicher feststellen:

Neulinge (im Delphi) werden immer davon ausgehen, dass Variablen, die auf ein Objekt zeigen, nach dessen Auflösung "leer" sind.

Man kann mit der Zeit lernen, dass das nicht so ist. Aber dem Mißverständnis werden nahezu alle Delphi-Neulinge auf den Leim gehen.

Insofern fände ich eine Compiler-Magie (oder wenigstens eine optionale Standard-Problemlösung) schon interessant. Alles andere sind mehr oder wenige aufwendige und mit Nachteilen verbundene Notlösungen.
Aber ich sehe ein, dass eine automatische Lösung nicht unproblematisch zu realisieren wäre.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: Objekte / Freigaben / Free / Nil

  Alt 10. Okt 2013, 12:46
Grauenvoll, wenn der Compiler versucht, für mich mitzudenken. Das gab es mal bei VB und die Ergebnisse waren chaotisch. Wenn Variableninhalten sich auf einmal verändern, kann das nicht gut gehen.

Wenn mehr als ein Instanzenzeiger auf ein Objekt existiert, dann dürfte es sich um einen Designfehler handeln. Würde man einen Provider zwischenschalten, gäbe es die Probleme nicht: Der Provider meldet "is weg" oder instanziiert per lazy load eine neue Instanz.

Daher ist es müßig (imho) sich darüber Gedanken zu machen, ob der Compiler diesen Lapsus reparieren soll. Na, ginge schon. Aber wenn man damit anfängt, dann müsste man auch gleich vergessene Freigaben, Ressourcenschutzblöcke usw. vom Compiler 'reparieren' lassen.

Will hier keinem zu nahe treten, aber bitte bitte, nicht noch mehr Magic.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Objekte / Freigaben / Free / Nil

  Alt 10. Okt 2013, 12:57
Will hier keinem zu nahe treten, aber bitte bitte, nicht noch mehr Magic.
Du verkennst halt, dass nicht alle (Anfänger- und Hobby-)Programmierer auf Deinem Kenntnisstand sind. Das Problem und die Hintergründe werden erst die fortgeschritteneren durchschauen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Objekte / Freigaben / Free / Nil

  Alt 10. Okt 2013, 13:07
Will hier keinem zu nahe treten, aber bitte bitte, nicht noch mehr Magic.
Du verkennst halt, dass nicht alle (Anfänger- und Hobby-)Programmierer auf Deinem Kenntnisstand sind. Das Problem und die Hintergründe werden erst die fortgeschritteneren durchschauen.
(Objekt-)Pascal (Delphi) hat aber schon lang den Status einer Lehrsprache verlassen, was Pascal (Wirth) ursprünglich ja mal war.
Markus Kinzler
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#5

AW: Objekte / Freigaben / Free / Nil

  Alt 10. Okt 2013, 14:54
Du verkennst halt, dass nicht alle (Anfänger- und Hobby-)Programmierer auf Deinem Kenntnisstand sind. Das Problem und die Hintergründe werden erst die fortgeschritteneren durchschauen.
Gerade für Anfänger ist es doch immens wichtig, so wenig wie möglich 'Magic' vom Compiler vorgesetzt zu bekommen, damit er genau nachvollziehen kann, was sein Programm macht.

Wenn ich z.B. meinem Kind Fahrrad fahren beibringen will, dann kann ich das mit Stützrädern machen, sowie einem Knieschützern, Doppelreifen wegen der Standfestigkeit sowie einem kreiselgestützten Anti-Umfall-O-mat (analog zum intellenten Compiler mit seiner Magie).

Oder ohne den Firlefanz.

Ich plädiere für letzteres und ich glaube, die meisten auch.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.367 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Objekte / Freigaben / Free / Nil

  Alt 10. Okt 2013, 12:47
Insofern fände ich eine Compiler-Magie (oder wenigstens eine optionale Standard-Problemlösung) schon interessant.
Was ja in Zukunft mit ARC passiert, und das wird ja vermutlich auch für Win32 irgendwann existieren.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:55 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