E2137 Methode '%s' nicht in Basisklasse gefunden (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Sie haben für eine Methode die Direktive override angegeben. Der Compiler kann jedoch in der Basisklasse keine Prozedur mit diesem Namen finden.
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.
Ein üblicher Grund für diesen Fehler ist ein Tippfehler im Quelltext. Stellen Sie sicher, dass der Name der override-Prozedur so geschrieben ist wie in der Basisklasse. Eine weitere Möglichkeit besteht darin, dass die Basisklasse die betreffende Prozedur nicht zur Verfügung stellt. In diesem Fall ist eine nähere Prüfung des Problems erforderlich.
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.
Die Lösung besteht in diesem Beispiel in der richtigen Schreibweise des Prozedurnamens in Derived.