Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.349 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Wie Singleton Objekt freigeben?

  Alt 17. Aug 2012, 20:43
Da du Delphi XE hast, geht das noch sehr viel besser:
Delphi-Quellcode:
type
  TSingleton = class
  private
    class var
      FInstance: TSingleton;

      FTest1: Integer;
      FTest2: Integer;
      FTest3: Integer;
    class function GetInstance: TSingleton; static;
  public
    class destructor Destroy;

    class property Instance: TSingleton;
  end;

[...]

class function GetInstance: TSingleton;
begin
  if not Assigned(FInstance) then
    FInstance := TSingleton.Create;
  Result := FInstance;
end;

class destructor Destroy;
begin
  if Assigned(FInstance) then
    FInstance.Free;
end;
So brauchst du dich weder um die Erzeugung noch um die Freigabe kümmern. Und das ist bei einem Singleton finde ich sehr wichtig. Alternativ bietet sich für den Zweck die Verwendung von Interfaces an.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat