E2233 La propriété '%s' est inaccessible ici (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Messages d'erreur et d'avertissement (Delphi)

Une tentative a été effectuée pour accéder à une propriété via un type référence de classe. Il est impossible d'accéder aux champs ou aux propriétés d'une classe via une référence de classe.


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.

La tentative d'accès à la propriété X dans l'exemple ci-dessus provoque l'émission d'une erreur par le compilateur.


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.

Il n'existe pas d'autre solution à ce problème que de supprimer l'accès à la propriété en cause depuis votre code source. Si vous voulez accéder aux propriétés ou champs d'une classe, vous devez alors créer une variable instance de ce type de classe et obtenir l'accès via cette variable.