E2065 Ungenügende Forward- oder External-Deklaration: '%s' (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Diese Fehlermeldung tritt auf, wenn eine forward- oder external-Deklaration einer Prozedur bzw. Funktion oder eine Methodendeklaration in einem Klassen- bzw. Objekttyp vorhanden ist, aber die Prozedur, Funktion oder Methode nicht definiert wird.
Möglicherweise fehlt die Definition, oder ihr Name wurde falsch geschrieben.
Beachten Sie, dass eine Prozedur- oder Funktionsdeklaration im interface-Abschnitt einer Unit einer forward-Deklaration entspricht. Die zugehörige Implementierung (der Quelltext der Routine) muss dann im implementation-Abschnitt erstellt werden.
Ebenso entspricht eine Methodendeklaration in einem Klassen- oder Objekttyp einer forward-Deklaration.
program Produce; type TMyClass = class constructor Create; end; function Sum(const a: array of Double): Double; forward; function Summ(const a: array of Double): Double; var i : Integer; begin Result := 0.0; for i:= 0 to High(a) do Result := Result + a[i]; end; begin end.
Die Definition von Sum hat einen leicht zu erkennenden Schreibfehler.
program Solve; type TMyClass = class constructor Create; end; constructor TMyClass.Create; begin end; function Sum(const a: array of Double): Double; forward; function Sum(const a: array of Double): Double; var i : Integer; begin Result := 0.0; for i:= 0 to High(a) do Result := Result + a[i]; end; begin end.
Lösung: Vergewissern Sie sich, dass die Definitionen Ihrer Prozeduren, Funktionen und Methoden vorhanden und richtig geschrieben sind.