E2065 Déclaration forward ou external non satisfaite : '%s' (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Messages d'erreur et d'avertissement (Delphi)

Ce message d'erreur apparaît lorsque vous avez une déclaration forward ou external d'une procédure ou d'une fonction, ou une déclaration de méthode dans type class ou object, et que vous ne définissez pas la procédure, la fonction ou la méthode.

Ou la définition est réellement manquante, ou son nom est mal orthographié.

Notez qu'une déclaration de procédure ou de fonction dans une section interface d'une unité est équivalente à une déclaration forward. Vous devez fournir l'implémentation (le corps de la procédure ou de la fonction) dans la section implementation.

De même, la déclaration d'une méthode dans un type class ou object est équivalente à une déclaration 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.

La définition de Sum dans l'exemple ci-dessus est une erreur de typo facile à trouver.



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.

La solution : vous assurer que les définitions de vos procédures, fonctions et méthodes sont toutes là et correctement orthographiées.