Einzelnen Beitrag anzeigen

warheart

Registriert seit: 24. Apr 2008
Ort: Bern
5 Beiträge
 
Delphi 2006 Professional
 
#1

Verhindern von Instanzierung eines Objekts mit Create

  Alt 24. Apr 2008, 11:35
Hallo Delphi Gemeinde

Meine erste Frage hier dreht sich um einen relativ komischen Wunsch, nicht so alltäglich.

Ich habe eine Klasse gemacht, die alle Methoden static hat und alle Membervariablen mit class var deklariert hat. Das Ganze ist nach diesem Beispiel von http://dn.codegear.com/article/34324 aufgebaut:
Delphi-Quellcode:
type
  TMyClass = class
    strict private
      class var
        FX: Integer;
    strict protected

    // Note: accessors for class properties must be declared class static.

      class function GetX: Integer; static;
     class procedure SetX(val: Integer); static;
    public
      class property X: Integer read GetX write SetX;
     class procedure StatProc(s: String); static;
  end;

TMyClass.X := 17;
TMyClass.StatProc('Hello');
Nun ist es allerdings immer noch möglich, den Constructor mit Create aufzurufen. Um allen potenziellen Benutzern der Klasse klar zu machen, dass man davon keine eigenen Instanzen machen darf, möchte ich das aufrufen von Create verbieten. Ist das irgendwie möglich?

Beispiel
Delphi-Quellcode:
TMyClass.StatProc('Hello'); // soll funktionieren
myObj := TMyClass.Create; // soll nicht funktionieren
Danke und Gruss an die Welt
************************************************** *
We have transformed information into a form of garbage, and ourselves into garbage collectors
(Neil Postman)
  Mit Zitat antworten Zitat