Nutze ich einfach eine
Unit, in der ich öffentliche Variablen (ob jetzt direkt oder per Getter Setter sei mal dahin gestellt) deklariere und nutze. Oder sollte ich dies über ein Singleton-Pattern machen, oder liefert Delphi vielleicht schon eine Art "Grundfunktion" mit, die ein solches Management übernehmen kann?
Ich persönlich verwende für solche Dinge immer Singletons. Grade für Einstellungen bietet sich das an, da man dann alles schön übersichtlich in einer Klasse zusammenfassen (und den Klassennamen als Namespace
missge-brauchen) kann. Bei diesem konkreten Fall erstelle ich mir meistens einen Record der Form:
Delphi-Quellcode:
type
TSettings = record
strict private
class var Ini: TIniFile;
strict private
// Setter und Getter
public
class constructor Create; // Ini erzeugen und Einstellungen laden
class destructor Destroy; // Einstellungen speichern und Ini freigeben
public
property Setting1;
property Setting2;
// ..
end;
Falls du mit
class constructor
bzw.
class destructor
nicht vertraut bist: Diese Methoden werden automatisch einmalig aufgerufen (sofern die Klasse irgendwo im Code referenziert wird) und zwar erfolgt
Create
beim Programmstart und
Destroy
kurz vor Beendigung. So ähnlich wie die
initialization
und
finalization
Abschnitte in Units.