E2228 Ein Typ dispinterface kann keinen Vorfahr interface haben (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Ein mit dispinterface spezifizierter Schnittstellentyp darf keine Vorfahrschnittstelle besitzen.


program Produce;

  type
    IBase = interface
    end;

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

    end;

begin
end.

In diesem Beispiel führt der Versuch, für IExtend eine Vorfahrschnittstelle zu spezifizieren, zu einem Compilierungsfehler.


program Solve;

  type
    IBase = interface
    end;

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

    end;

begin
end.

Es gibt zwei Möglichkeiten, diesen Fehler zu beseitigen: Entweder Sie entfernen die Deklaration für die Vorfahrschnittstelle, oder Sie wandeln die dispinterface-Schnittstelle in eine reguläre Schnittstelle um. Im vorliegenden Beispiel wird die erste Vorgehensweise verwendet.