E2210 Directive '%s' non autorisée dans le type interface (Delphi)
Remonter à Messages d'erreur et d'avertissement (Delphi)
Une directive a été rencontrée pendant l'analyse grammaticale d'une interface non autorisée.
program Produce; type IBaseIntf = interface private procedure fnord(x, y, z : Integer); end; begin end.
Dans cet exemple, le compilateur donne une erreur lorsqu'il rencontre la directive private, parce que ce n'est pas autorisé dans les types interface.
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.
La seule solution à ce problème est de supprimer la directive en cause de la définition d'interface. Alors que les interfaces ne supportent pas actuellement ces directives, vous pouvez placer la méthode d'implémentation dans la section de visibilité souhaitée. Dans cet exemple, le placement de la procédure TBaseClass.fnord dans une section private devrait produire les résultats escomptés.