E2210 Die Direktive '%s' ist im Typ interface nicht erlaubt (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Beim Analysieren einer Schnittstelle wurde eine Direktive festgestellt. Direktiven dürfen aber nicht in Schnittstellen vorhanden sein.
program Produce; type IBaseIntf = interface private procedure fnord(x, y, z : Integer); end; begin end.
In diesem Beispiel gibt der Compiler eine Fehlermeldung aus, wenn er auf die Direktive private trifft, weil Direktiven in Schnittstellentypen nicht erlaubt sind.
program Solve; type IBaseIntf = interface procedure fnord(x, y, z : Integer); end; TBaseClass = class (TInterfacedObject, IBaseIntf) private procedure fnord(x, y, z : Integer); end; procedure TBaseClass.fnord(x, y, z : Integer); begin end; begin end.
Das Problem kann nur auf eine Weise gelöst werden: Sie müssen die betreffende Direktive aus der Schnittstellendefinition entfernen. Schnittstellen unterstützen diese Direktiven nicht. Sie können aber die implementierende Methode in den gewünschten Sichtbarkeitsabschnitt einfügen. In diesem Beispiel wird das Ziel erreicht, indem die Prozedur TBaseClass.fnord in einen private-Abschnitt eingefügt wird.