Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#11

AW: Globale Variable - Definition

  Alt 14. Mai 2011, 22:29
Ich hab das immer so
Delphi-Quellcode:
TSingletonClass = class(TObject)
private
  class var FInstance;
  class procedure Init();
  class procedure Finalize();
  constructor Create(); reintroduce;
public
  class function GetInstance(): TSingletonClass;
  destructor Destroy();
end;

function ShortcutName(): TSingletonClass;

implementation

class procedure TSingletonClass.Init();
begin
  { ... }
end;

class procedure TSingletonClass.Finalize();
begin
  { ... }
end;

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

function ShortcutName(): TSingletonClass;
begin
  Result := TSingletonClass.GetInstance();
end;

initialization
  TSingletonClass.Init();

finalization
  TSingletonClass.Finalize();
Bitte aber die ShortcutName()-Methode umbenennen
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat