E2146 default 値は順序型,ポインタまたは小規模な集合型に限られます (Delphi)

提供: RAD Studio
移動先: 案内検索

エラーと警告のメッセージ(Delphi) への移動

default 節が入っているプロパティを宣言しようとしましたが,そのプロパティの型はデフォルト値と互換性がありません。


  program Produce;

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

  begin
  end.

{ このプログラムはプロパティを作成してそれにデフォルト値を割り当てようとしているが,プロパティの型がデフォルト値を使用できない型なのでエラーが出力される }


  program Produce;

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

  begin
  end.

{ このエラーが発生した場合には簡単な 2 つの解決方法がある。1 つはデフォルト値の定義を削除する方法で,もう 1 つはプロパティの型をデフォルト値が使用できる型に変更する方法である。しかし,実際のプログラムでは修正がそれほど簡単でないときもある。大きすぎる集合プロパティがある場合を考えてみるとよい。その場合にはプログラムを注意深く調べ,この問題の最善の解決方法を判別する必要がある }