Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.229 Beiträge
 
Delphi 12 Athens
 
#15

Re: Custom compiler message beim Aufruf einer Methode möglic

  Alt 2. Dez 2009, 10:48
Wenn die Klasse nach außen wirklich nicht sichtbar sein soll,
dann kannst du auch ganz böse sein und alles auf einen Record umstellen.
Von diesem kann man garantiert keine Instanz erstellen.


Delphi-Quellcode:
unit SingletonUnit;

interface

type
  {T}Singleton = record
    class procedure DoSomething;
  end;

implementation

type
  TInternalSingleton = class
    constructor Create;
    procedure DoSomething;
  end;

var FSingle: TInternalSingleton;

constructor TInternalSingleton.Create;
begin
  ...
end;

procedure TInternalSingleton.DoSomething;
begin
  ...
end;

class procedure TSingleton.DoSomething;
begin
  FSingle.DoSomething;
end;

initialization
  FSingle := TSingleton.Create;

finalization
  FSingel.Free;
end.
Wobei man hier auch teilweise komplett auf die interne Klasse verzichten könnte.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat