E2146 Standardwerte müssen vom Typ Ordinal, Pointer oder vom Typ small Set sein (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi) - Index

Sie haben eine Eigenschaft festgelegt, die eine default-Klausel enthält, aber der Typ der Eigenschaft kann nicht zusammen mit Standardwerten benutzt werden.


  program Produce;

    type
      VisualGauge = class
        pos : Single;
  property Position : Single read pos write pos default 0.0;
      end;

  begin
  end.

Das Programm erstellt eine Eigenschaft und versucht, ihr einen Standardwert zuzuweisen; da der Typ der Eigenschaft jedoch keine Standardwerte zulässt, wird eine Fehlermeldung ausgegeben.


  program Produce;

    type
      VisualGauge = class
        pos : Integer;
  property Position : Integer read pos write pos default 0;
      end;

  begin
  end.

Wenn dieser Fehler auftritt, gibt es zwei einfache Lösungen: Zum einen kann die Definition des Standardwertes entfernt werden, und zum anderen kann der Typ der Eigenschaft in einen Typ geändert werden, der einen Standardwert zulässt. Es kann allerdings vorkommen, dass Ihr Programm nicht so einfach in Ordnung zu bringen ist; bedenken Sie den Fall, wenn Sie eine zu große Mengen-Eigenschaft verwenden – in dieser Situation müssen Sie Ihr Programm sorgfältig untersuchen, um die beste Lösung für das Problem feststellen zu können.