Einzelnen Beitrag anzeigen

Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#1

Zugriff auf Klasseneigenschaften -- Verstehe die Fehlermledung nicht

  Alt 7. Aug 2011, 14:22
Hallo Gemeinde.
Ich baue mir gerade ein Singleton, was auch prima klappt solange ich in den Properties nur auf Klassenvariablen zugreife, aber folgende Konstruktion führt zu einem Fehler:
Delphi-Quellcode:
TYPE
  TDP = CLASS
  PRIVATE
    CLASS VAR
            _instance : TDP;
            FXMLFileName : STRING;

  PUBLIC
    DESTRUCTOR Destroy; Override;

    CLASS FUNCTION Instance : TDP;
    CLASS FUNCTION NewInstance: TObject; Override;

    CLASS PROCEDURE NewXMLFileName(aFilename: String);

    CLASS PROPERTY XMLFileName : STRING READ FXMLFileName WRITE NewXMLFileName; // Fehler!
  END;
Die Fehlermeldung:
E2355 Für den Zugriff auf Klasseneigenschaften muss ein Klassenfeld oder eine statische Klassenmethode verwendet werden.

Wenn ich stattdessen:
CLASS PROPERTY XMLFileName : STRING READ FXMLFileName WRITE FXMLFileName; schreibe, ist es ok. Ich wollte aber gern eine Klassenmethode aufrufen.

Jemand eine Idee, was ich falsch mache?

Vielen Dank & Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat