![]() |
Delphi 5 und Garbage Collection?
Hi,
Ich hab versucht das Thema über die Suche zu finden, aber da hat scheinbar noch keiner danach gefragt?! Ich war zufällig bei einem Projekt beschäftigt und musste ein paar Projektoptionen (Compiler) verändern. Dann bin ich auf die Hilfe um über die verfügbaren Optionen mehr zu erfahren. Dort ist mir folgender Eintrag aufgefallen: Zitat:
Danke für eure Hilfe! |
Re: Delphi 5 und Garbage Collection?
Arrays und Records werden für dich von Delphi verwaltet. Objekte muss man selber behandeln. (Und Strings sind Arrays.)
gruss, dizzy |
Re: Delphi 5 und Garbage Collection?
Ich halte von garbage collections generell ueberhaupt nichts, das regt meiner meinung nach nur zum schlechten programmieren an, anstatt die qualitaet des codes zu verbessern. Wuerde daher grundsaetzlich davon abraten, selbst wenn z.b. .NET solche "features" bieten.
|
Re: Delphi 5 und Garbage Collection?
ja klar. und jeden integer den du brauchst auch wieder einzeln freigeben...
da sag ich: nein danke. |
Re: Delphi 5 und Garbage Collection?
Problem 1) Bei .NET kommst du einfach nicht drum herum. Das ist drin, und ende ;)
Problem 2) Die wenigsten Programmierer kommerzieller Software arbeiten 100% sauber. Können sie oft auch garnicht, da der Zeitdruck immens ist. Somit ist Garbabecollection allein schon ein wirtschaftlicher Vorteil! Ich mag's ehrlich gesagt auch nicht. Ich weiss lieber direkt wann und wo welches Objekt nicht mehr existiert. Auch die Idee der Zwischenkompilate missfällt mir irgendwie, auch wenn .NET ja im Gegensatz zu Java noch sehr performaten Code erzeugt. Aber man verliert einfach die Kontrolle im Detail :? Aber es spricht wohl scheinbar zu viel für diese Systeme, als dass mein "Unwohlsein" dabei irgendetwas an dieser Richtung ändern könnte :stupid: \\edit: @nailor: Da finde ich die Mischung in Delphi gerade richtig! Einfach Typen automatisch, aber Objekte manuell :thuimb: |
Re: Delphi 5 und Garbage Collection?
Zitat:
Garbage-Collection wie sie .net oder Java implementiert haben, ist das entfernen von nicht mehr verwendeten Variablen(Speicherbereichen). Dies wird z.B. von einem Extrathread durchgeführt der die ganze Zeit läuft und nichts anderes tut als nach Speicher zu suchen, auf den keine Referenz mehr vorhanden ist. Kostet CPU-Time und fördert einen schlechten Programmierstil, halte ich auch nicht viel von. |
Re: Delphi 5 und Garbage Collection?
Zitat:
|
Re: Delphi 5 und Garbage Collection?
Zitat:
|
Re: Delphi 5 und Garbage Collection?
Jo, das geht freilich auch.
Aber wenn Du wie gesagt u.U. ein Objekt zwingen vor einem anderen freigeben muss (z.B. Cursor auf eine Datenbanktabelle vor der Datenbankconnection, da sich diese sonst nicht schliessen lässt etc.) dann kannst Du wie gesagt im Dispose diese Dinger eben auch in der richtigen Reihenfolge explizit zerstören lassen. Best of both worlds sozusagen :) |
Re: Delphi 5 und Garbage Collection?
Also wie von mir vermutet ist die Antwort auf meine Frage jetzt:
"Einfache Datentypen verwaltet Delphi und Objekte muss ich als Programmierer selbst verwalten!" ? Also wird das Garbage Collection bei Delphi 5-7 und ältere Versionen natürlich auch nur auf einfache Datentypen angewendet. (Klar ist es ja das erst mit Delphi 8 und .Net Garbage Collection bei Objekte funktionierte). Ist so die Antwort? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:21 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 by Thomas Breitkreuz