E2137 Méthode '%s' non trouvée dans la classe de base (Delphi)
Remonter à Messages d'erreur et d'avertissement (Delphi)
Vous avez appliqué la directive 'override' à une méthode, mais le compilateur ne peut pas trouver de procédure de même nom dans la classe de base.
program Produce; type Base = class procedure Title; virtual; end; Derived = class (Base) procedure Titl; override; end; procedure Base.Title; begin end; procedure Derived.Titl; begin end; begin end.
Une cause habituelle de cette erreur est une simple erreur typographique dans le code source. Vérifiez que le nom utilisé pour la procédure 'override' est orthographié de la même manière que celui de la classe de base. Dans d'autre situations, la classe de base ne fournira pas la procédure souhaitée : c'est dans ces situations qu'une analyse plus approfondie sera nécessaire pour déterminer comment résoudre le problème.
program Solve; type Base = class procedure Title; virtual; end; Derived = class (Base) procedure Title; override; end; procedure Base.Title; begin end; procedure Derived.Title; begin end; begin end.
La solution dans cet exemple consiste à corriger l'orthographe du nom de procédure dans Derived.