E2563 指定インターフェイス型は宣言されていません(Delphi)

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

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


これが発生するのは、インターフェイスを定義し、それを継承する際に継承式と実装するメソッドで異なる型制限を使用した場合です。


 program E2563;
 
 {$APPTYPE CONSOLE}
 
 uses
   SysUtils;
 
 type
   IMyIntf<T> = interface
     procedure IProc(A: T);
   end;
 
   TClass = class(TInterfacedObject, IMyIntf<String>) //E2563
     procedure IMyIntf<Integer>.IProc; //E2563  ImyIntf<Integer> not defined 
                                              // You should use either String or, in the inheritance expression, use class(TInterfacedObject, IMyIntf<Integer>)
   end;
 
 begin
 
 end.