E2065 forward または external 宣言された '%s' が見つかりません (Delphi)
エラーと警告のメッセージ(Delphi) への移動
このエラーメッセージはクラス型やオブジェクト型の中に手続きや関数の forward 宣言または external 宣言があるか,メソッドの宣言があるにもかかわらず,その手続き,関数,メソッドがどこにも定義されていないときに表示されます。
実際に定義が欠落しているか,定義名のスペルが間違っている可能性があります。
ユニットのインターフェース部での手続き宣言または関数宣言は forward 宣言と同じです。実現部に実装コード(手続きまたは関数の本体)を与えなければなりません。
同様に,クラス型またはオブジェクト型の中でのメソッド宣言も forward 宣言と同じです。
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.
{ この Sum の定義では簡単にタイプミスが見つかる }
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.
{ 対処法:すべての手続き,関数,メソッドの定義が存在することを確認し,スペルを正しく入力する必要がある }