E2131 La classe a déjà une propriété par défaut (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

Vous avez essayé d'affecter une propriété par défaut à une classe qui a déjà défini une propriété par défaut.



program Produce;

  type
    Base = class
      function GetV(i : Integer): Char;
      procedure SetV(i : Integer; const x : Char);

      property Data[i : Integer]: Char read GetV write SetV; default;
      property Access[i : Integer]: Char read GetV write SetV; default;
    end;

  function Base.GetV(i : Integer): Char;
  begin GetV := 'A';
  end;

  procedure Base.SetV(i : Integer; const x : Char);
  begin
  end;

begin
end.

La propriété Access dans le code précédent essaie de devenir la propriété par défaut de la classe, mais Data a aussi été spécifié comme propriété par défaut. Il ne peut y avoir qu'une seule propriété par défaut dans une classe.



program Solve;

  type
    Base = class
      function GetV(i : Integer): Char;
      procedure SetV(i : Integer; const x : Char);

      property Data[i : Integer]: Char read GetV write SetV; default;
    end;

  function Base.GetV(i : Integer): Char;
  begin GetV := 'A';
  end;

  procedure Base.SetV(i : Integer; const x : Char);
  begin
  end;

begin
end.

La solution est d'enlever les spécifications de propriété par défaut incorrectes des sources du programme.