En fait, ta déclaration complete, c'est plutôt ça:
 
TForm1 = class(TForm)
   (...)
   function carre(X: Integer): Integer;     (...)
 end;  | 
 
Ce qui signifie
1) Que tu déclare une classe (un type d'objet) nommé TForm1
2) Que tu déclare la fonction Carre au sein de cette classe
 
Il faut donc
- soit que tu déclare ta fonction hors de la déclaration de classe
TForm1 = class(TForm)
   (...)
 end;
 function carre(X: Integer): Integer;   | 
 
- soit que tu écrive le corp d'une fonction appartenant à la classe TForm1
 function [b]TForm1.[/b]carre(X: Integer): Integer;     begin       Result := X * X;     end;   |