E2233 Auf Eigenschaft '%s' kann hier nicht zugegriffen werden (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Sie haben versucht, über einen Klassenreferenztyp auf eine Eigenschaft zuzugreifen. Der Zugriff auf die Felder oder Eigenschaften einer Klasse über eine Klassenreferenz ist aber nicht möglich.
program Produce; type TBase = class public FX : Integer; property X : Integer read FX write FX; end; TBaseClass = class of TBase; var BaseRef : TBaseClass; x: Integer; begin BaseRef := TBase; x := BaseRef.X; end.
In diesem Beispiel führt der Versuch, auf die Eigenschaft X zuzugreifen, zur Ausgabe einer Fehlermeldung durch den Compiler.
program Solve; type TBase = class public FX : Integer; property X : Integer read FX write FX; end; TBaseClass = class of TBase; var BaseRef : TBaseClass; x: Integer; begin BaseRef := TBase; end.
Das Problem lässt sich nur durch Entfernen des Fehler verursachenden Eigenschaftszugriffs aus dem Quelltext lösen. Wenn ein Zugriff auf die Eigenschaften oder Felder einer Klasse erforderlich ist, erzeugen Sie eine Instanzvariable für die betreffende Klasse und greifen über diese auf die Eigenschaft bzw. auf das Feld zu.