E2232 インターフェース '%s' は interface 識別子を持っていません (Delphi)

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

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

インターフェースを GUID 型に代入しようとしていますが,このインターフェースの定義には GUID が指定されていません。


program Produce;

  type
    IBase = interface
    end;

  var
    g : TGUID;

  procedure p(x : TGUID);
  begin
  end;

begin
  g := IBase;
  p(IBase);
end.

{ この例では,IBase 型がインターフェースとして定義されているが GUID 指定はないので,GUID 型に代入できない }


program Solve;

  type
    IBase = interface
    ['{00000000-0000-0000-0000-000000000000}']
    end;

  var
    g : TGUID;

  procedure p(x : TGUID);
  begin
  end;

begin
  g := IBase;
  p(IBase);
end.

{ この問題を解決するには,GUID 指定のないインターフェースを GUID 型に代入するのをやめるか,インターフェースの定義に GUID 指定を追加しなければならない。次の解決例では,インターフェースの定義に GUID 指定を追加している }