E2228 Un type dispinterface ne peut avoir d'interface ancêtre (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

Un type interface spécifié avec dispinterface ne peut pas spécifier d'interface ancêtre.


program Produce;

  type
    IBase = interface
    end;

    IExtend = dispinterface (IBase)
    ['{00000000-0000-0000-0000-000000000000}']

    end;

begin
end.

Dans l'exemple ci-dessus, l'erreur est provoquée car IExtend essaie de spécifier un type interface ancêtre.


program Solve;

  type
    IBase = interface
    end;

    IExtend = dispinterface
    ['{00000000-0000-0000-0000-000000000000}']

    end;

begin
end.

Généralement il existe deux solutions lorsque cette erreur se produit : supprimer la déclaration d'interface ancêtre ou modifier dispinterface en type interface normale. Dans l'exemple ci-dessus, la première approche a été utilisée.