Hallo Jürgen,
Zitat von
Pfoto:
Würde -- wenn ich unbedingt Dummheiten machen will -- nicht
auch folgendes funktionieren?
TGlobalRessources.RetrieveInstance.Free;
Wenn du eine Dummheit begehen möchtest, kann dich niemand davon abhalten - schon gar nicht Delphi.
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