E2232 L'interface '%s' n'a pas d'identification d'interface (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Messages d'erreur et d'avertissement (Delphi) - Index

Vous avez essayé d'affecter une interface à un type GUID, mais l'interface n'était pas définie avec GUID.


program Produce;

  type
    IBase = interface
    end;

  var
    g : TGUID;

  procedure p(x : TGUID);
  begin
  end;

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

Dans cet exemple, le type IBase est défini mais n'a pas d'interface, et ne peut alors pas être affecté à un type 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.

Pour résoudre ce problème, vous devez soit ne pas essayer d'affecter un type interface sans un GUID à un type GUID, soit affecter un GUID à l'interface quand elle a été définie. Dans cette solution, un GUID a été affecté au type interface lors de sa définition.