E2137 メソッド '%s' が基本クラスで見つかりません (Delphi)

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

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

メソッドに override 指令を適用しましたが,その名前の手続きが基本クラスの中にはありません。


program Produce;

  type
    Base = class
      procedure Title; virtual;
    end;

    Derived = class (Base)
      procedure Titl; override;
    end;

    procedure Base.Title;
    begin
    end;

    procedure Derived.Titl;
    begin
    end;

begin
end.

{ このエラーの一般的な原因はソースコードでの単なるタイプミスである。override 手続きとして使った名前が基本クラス内の名前と同じスペルであるかどうかを確認する必要がある。あるいは,求める手続きが基本クラスにない場合も考えられる。そのような場合には,問題の解決方法を判別するため,より深い分析が必要になる }


program Solve;

  type
    Base = class
      procedure Title; virtual;
    end;

    Derived = class (Base)
      procedure Title; override;
    end;

    procedure Base.Title;
    begin
    end;

    procedure Derived.Title;
    begin
    end;

begin
end.

{ このコードでは Derived 内の手続き名のスペルを訂正して解決した }