1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
TMonObjet = class
class procedure Faire( I : integer ); static;
end;
{ TMonObject }
class procedure TMonObjet.Faire( I : integer );
begin
Writeln(I);
end;
var Methode : procedure( I : Integer ) of object;
AProcedure : procedure( I : Integer ) ;
begin
Methode := TMonObjet.Faire; // Compatible !?!
Methode(25); // Affiche le Self de la métaclasse de TMonObjet
AProcedure := @TMonObjet.Faire; // incompatible,
// on force en mettant @
AProcedure(25); // Correcte !!!
Readln;
end. |
Partager