![]() |
Re: globale Variablen
Zitat:
Edit1: Im Finalization wäre ein einfaches nilfree besser. Edit2: Habe ich im Edit1 tatsächlich "nil" geschrieben, ich meinte natürlich free. |
Re: globale Variablen
Man sollte auch den ganzen Ursprungscode lesen :oops:
|
Re: globale Variablen
Zitat:
ich direkt über die im interface zugängliche Instanz auf das globale Objekt zugreife... Ist es, damit man das globale Objekte nicht aus Versehen freigibt? Würde -- wenn ich unbedingt Dummheiten machen will -- nicht auch folgendes funktionieren?
Delphi-Quellcode:
TGlobalRessources.RetrieveInstance.Free;
Gruß Jürgen |
Re: globale Variablen
Ich denke, man sollte hier kein Dogma setzen.
Schreibe ich allein ein kleines Tool, muss ich nicht diese Sicherheiten einbauen. Da bediene ich mich hemmungslos globaler Variablen. Handelt es sich um eine große Anwendung, an der mehrere Entwickler arbeiten, ist die Vorgehensweise der Kapselung jedoch sinnvoll. |
Re: globale Variablen
Hallo Jürgen,
Zitat:
Das singleton pattern bietet durchaus einige Vorteile. Neben den bereits erwähnten (Schutz vor mehrfacher Instanziierung, Schutz vor versehentlichem Überschreiben der globalen Variablen) möchte ich noch einen weiteren nennen: Verzicht auf unnötige Instanziierung. Die globalen Objekte werden erst dann erzeugt, wenn sie wirklich benötigt werden. Das ist insbesondere dann sinnvoll, wenn das Erstellen der Objekte sehr zeitaufwendig ist oder sie viel Speicherplatz benötigen. Beispiel für Singletons findest du übrigens auch in der VCL. Schaue dir mal den Quelltext der Units ClipBrd und Printers an. Gruß Hawkeye |
Re: globale Variablen
Danke Hawkeye, jetzt ist es verständlich geworden. Gruß Jürgen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:22 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