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