Bonjour,

Le code suivant fonctionne (évidemment):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
var
  unControle: TControl;
begin
  with unControle as TButton do
   begin
     // "Default" est une propriété spécifique à "TButton"
     Default:=True;
   end;
end;
mais le code suivant pose problème:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
var
  unControle: TControl;
  uneClasse: TClass;
begin
  uneClasse:=TButton;
  with unControle as uneClasse do  // Cette ligne compile
   begin
     // "Default" est une propriété spécifique à "TButton"
     Default:=True;                        // ===> Cette ligne ne compile pas
   end;
end;
L'objectif est d'utiliser une procédure où la classe de l'objet peut varier ("uneClasse" est en fait transmis en argument).

Merci.