E2132 Standardeigenschaft muss eine Array-Eigenschaft sein (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Die Standardeigenschaft, die Sie für diese Klasse festlegen, ist keine Array-Eigenschaft. Standardeigenschaften müssen Array-Eigenschaften sein.


program Produce;

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

      property Data : Char read GetV write SetV; default;
    end;

  function Base.GetV : Char;
  begin GetV := 'A';
  end;

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

begin
end.

Wenn Sie eine Standardeigenschaft festlegen, müssen Sie sicherstellen, dass sie der Syntax für Array-Eigenschaften entspricht. Die Eigenschaft Data im obigen Code hat jedoch den Typ Char.


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.

Ändern Sie den Typ der Eigenschaft, oder entfernen Sie die Direktive default.