E2233 プロパティ '%s' はここからは参照できません (Delphi)
エラーと警告のメッセージ(Delphi) への移動
クラス参照型を通してプロパティにアクセスしようとしています。クラスのフィールドまたはプロパティには,クラス参照ではアクセスできません。
program Produce; type TBase = class public FX : Integer; property X : Integer read FX write FX; end; TBaseClass = class of TBase; var BaseRef : TBaseClass; x : Integer; begin BaseRef := TBase; x := BaseRef.X; end.
{ ここでは,プロパティ X にアクセスしようとしているのでエラーとなる }
program Solve; type TBase = class public FX : Integer; property X : Integer read FX write FX; end; TBaseClass = class of TBase; var BaseRef : TBaseClass; x : Integer; begin BaseRef := TBase; end.
{ この場合,ソースコードから問題のプロパティアクセスを削除する以外の解決策はない。クラスのプロパティまたはフィールドにアクセスするには,そのクラス型のインスタンス変数を作成し,その変数を通してアクセスを行わなければならない }