E2146 default 値は順序型,ポインタまたは小規模な集合型に限られます (Delphi)
エラーと警告のメッセージ(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 つはプロパティの型をデフォルト値が使用できる型に変更する方法である。しかし,実際のプログラムでは修正がそれほど簡単でないときもある。大きすぎる集合プロパティがある場合を考えてみるとよい。その場合にはプログラムを注意深く調べ,この問題の最善の解決方法を判別する必要がある }