AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wenn man sich was wünschen dürfte...
Thema durchsuchen
Ansicht
Themen-Optionen

Wenn man sich was wünschen dürfte...

Ein Thema von stahli · begonnen am 17. Sep 2015 · letzter Beitrag vom 24. Sep 2015
Antwort Antwort
Seite 8 von 8   « Erste     678   
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#71

AW: Wenn man sich was wünschen dürfte...

  Alt 24. Sep 2015, 02:09
Ich wüchsche mir vielmehr einen Compiler, der die Initialisierung und Freigabe der verwendeten Objekte automatisiert. Ich habe sehr oft EAccessViolations. Weil wohl irgendein Objekt nicht korrekt erzeigt worden ist. Dann geht die frustrierende Fehlersuche los.
Ich weis nicht wo die Probleme sind. Es ist doch echt kein Problem ein Objekt zu erzeugen und vor allem freizugeben.

Meine Devise ist: Nur anhand dem Müll, den ich aufräume (free), sehe ich welchen Müll ich überhaupt produziere (create). An ARC, GarbageCollector und Konsorten kann ich mich nicht wirklich gewöhnen.

Ich hätte aber eine andere Idee. Schön wäre es, wenn der Compiler es hinkriegen würde, den Pointer eines freigegebenen Objektes so lange nicht neu zu belegen, bis es keine Referenz mehr auf diesen Pointer gibt. Ein free sollte den Pointer mit der Adresse eines TDestroyedObject belegen, der dann eine "schöne Exception" erzeugt und keine nichtssagende Schmutzverletzung. Ein Zugriff auf NIL sollte auch mit einer besseren Fehlermeldung belegt werden.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de

Geändert von bernau (24. Sep 2015 um 05:24 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Wenn man sich was wünschen dürfte...

  Alt 24. Sep 2015, 05:56
"Englisch wird die Arbeitssprache" (Günther Oettinger)
Ist ja auch kein Problem, wenn man wie er englisch perfekt kann.
Markus Kinzler
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#73

AW: Wenn man sich was wünschen dürfte...

  Alt 24. Sep 2015, 07:13
Ich hätte aber eine andere Idee. Schön wäre es, wenn der Compiler es hinkriegen würde, den Pointer eines freigegebenen Objektes so lange nicht neu zu belegen, bis es keine Referenz mehr auf diesen Pointer gibt. Ein free sollte den Pointer mit der Adresse eines TDestroyedObject belegen, der dann eine "schöne Exception" erzeugt und keine nichtssagende Schmutzverletzung. Ein Zugriff auf NIL sollte auch mit einer besseren Fehlermeldung belegt werden.
Willst Du Unzulänglichkeiten im Design wirklich kaschieren? Die Fehlermeldung auf Nil ist schon genau genug. Du meinst sicherlich die Access Violations bei 0x00000012.

PS: Wenn der Compiler schon Referenzzählung integriert, dann kann er die Objekte auch gleich selbst freigeben. Genau das passiert bei Interfaces und unter Android. Und bei anderen Sprachen.

Allerdings entbindet dich die automatische Freigabe nicht von sorgfältigem Design. Es reicht schon, wenn zwei ansonsten nicht mehr verwendete Objekte noch Verweise auf das jeweils andere haben.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#74

AW: Wenn man sich was wünschen dürfte...

  Alt 24. Sep 2015, 07:56
Ich hätte aber eine andere Idee. Schön wäre es, wenn der Compiler es hinkriegen würde, den Pointer eines freigegebenen Objektes so lange nicht neu zu belegen, bis es keine Referenz mehr auf diesen Pointer gibt. Ein free sollte den Pointer mit der Adresse eines TDestroyedObject belegen, der dann eine "schöne Exception" erzeugt und keine nichtssagende Schmutzverletzung. Ein Zugriff auf NIL sollte auch mit einer besseren Fehlermeldung belegt werden.
Das gibts schon und nennt sich FastMM FullDebug oder LeakCheck als memory Manager ersatz während der Entwicklung.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 8 von 8   « Erste     678   


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:57 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