AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Wo gebt ihr Objekte frei?

Ein Thema von NerdIII · begonnen am 11. Dez 2007 · letzter Beitrag vom 12. Dez 2007
 
Popov
(Gast)

n/a Beiträge
 
#19

Re: Wo gebt ihr Objekte frei?

  Alt 12. Dez 2007, 11:36
Zitat von Christian Seehase:
wobei ich da noch einen kleinen Verbesserungsvorschlag hätte:
TargetBmp sollte besser als const deklariert werden.
Vielleicht verstehe ich dich nur falsch und du meinst etwas anderes (sorry, ich hatte heute noch kein Kaffee), aber TargetBmp ist nur Objektadresse. Weder wird etwas dran verändert, noch wird eine neue Adresse zurückgegeben. Es ergibt sich also aus der Sache, daß TargetBmp eine Konstante ist. Allerdings verstehe ich auch nicht wieso man es deshalb als Konstante deklarieren sollte. Erwartest du, daß einer sie in der Funktion frei gibt und sie dann für ein StringList nutzt? Wenn einer TargetBmp freigeben oder mißbrauchen würde, würde auch Const die Katastrophe nicht mehr abwenden können, denn das Objekt wäre sowieso im Speicher zerstört. Ob die Adresse dann innerhalb der Funktion immer noch auf die alte Stelle zeigen, wäre letztendlich egal. Const würde also nichts bringen. Aber wie gesagt, ich hatte noch nicht meinen Kaffee.

Und nochmal allgemein zu FreeAndNil (also nicht @Christian). Ich halte FreeAndNil für eine Unsitte. Ich arbeite schon so lange mit Objekten, aber es ist mir noch nie ... ups, das Objekt ist ja schon freigegeben ... passiert. Fehler können passieren, aber jenseits der Fehler weiß ich immer was mein Objekt macht. Mir ist schon klar, daß man gelegentlich auch abfragt ob ein Objekt Nil ist. Allerdings sind das dann Sondersituationen. In diesem Fall kann man meinetwegen das Objekt nil setzten, damit man an einer anderen Stelle prüfen kann ob es nil ist. In diesem Fall ist es ein Teil der Programmierung, denn Nil ist auch eine Information und wenn man mit dieser Information arbeiten muß oder will, dann nutzt man sie. Dann allerdings bewusst. Aber so oft kommt sowas nicht vor, also wozu das Ganze (beinahe hätte ich "Unsinn" gesagt)? Anscheinend ist es eine Mode, wie vor einigen Jahren der Gummiüberzug für die Fernbedienung. Plötzlich hatte für einen gewissen Zeitraum die gesamte Republik ihre Fernbedienungen mit einem Gummipolster geschützt, für den Fall, daß die Fernbedienung auf den Boden fällt. Plötzlich gab es kein Gummi für die Autoreifen, weil alle ihre Fernbedienungen schützten. Also wozu dieses Nil bei der Freigabe von Objekten? Wer nutzt ein Objekt das bereits freigegeben worden ist? Wer FreeAndNil nutzt, der mag auch die Methode zwei, denn da muß man wirklich wissen ob ein Objekt bereits freigegeben worden ist und auf das kann man mit Nil hinweisen. Ansonsten überlege ich wirklich wo man das in der Allgemeinprogrammierung anwenden kann. In besonderen Situationen meinetwegen, aber sonst?
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:30 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