E2136 Aucune définition autorisée pour la méthode abstraite '%s' (Delphi)
Remonter à Messages d'erreur et d'avertissement (Delphi) - Index
Vous avez déclaré nom> en abstract, mais le compilateur a trouvé une définition pour la méthode dans le fichier source. Il est incorrect de fournir une définition pour une déclaration abstract.
program Produce; type Base = class procedure Foundation; virtual; abstract; end; procedure Base.Foundation; begin end; begin end.
Les méthodes abstract ne peuvent pas être définies. Une erreur apparaîtra à Base.Foundation lorsque vous compilerez ce programme.
program Solve; type Base = class procedure Foundation; virtual; abstract; end; Derived = class (Base) procedure Foundation; override; end; procedure Derived.Foundation; begin end; begin end.
Deux étapes sont nécessaires pour résoudre cette erreur. D'abord, vous devez enlever la définition de la procédure abstract qui est déclarée dans la classe de base. Deuxièmement, vous devez étendre la classe de base, déclarer la procédure abstract en 'override' dans l'extension, puis fournir une définition pour la procédure nouvellement déclarée.