E2131 Klasse besitzt bereits eine Standardeigenschaft (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Sie versuchen, einer Klasse eine Standardeigenschaft zuzuweisen, die bereits über eine solche verfügt.


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.

Die Eigenschaft Access im obigen Code soll zur Standardeigenschaft der Klasse werden. Dies ist aber bereits die Eigenschaft Data. In jeder Klasse ist nur eine Standardeigenschaft erlaubt.


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.

Entfernen Sie die ungültige Deklaration der Standardeigenschaft aus dem Code.