Bonjour,
Je voudrais transmettre en paramètre d'une procédure une série d'objet de forme tels que des TPanel, TLabel, TButton etc... Comme je voudrais que le nombre et le type des paramètres soient variable, j'utilise un array of const en paramètre de ma procédure. dans ce cas c'est des TLabel. voila la procedure:
Alors cette procédure est une procédure de test pour l'inclure dans un programme plus important.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 procedure proc_TVarRec(tab: Array of const) var I: Integer; lb : TLabel; str : string; begin // 1ere partie for I := 0 to High(tab) do begin case VType of vtObject : showMessage(VObject.ClassName) ; vtClass : showMessage(VClass.ClassName) ; end; end; // 2eme partie lb := tab[0]; ln.caption := 'Cap'; end;
et je fais l'appel
Le problème c'est que dans la première partie de la procédure VType est détecté comme identificateur non déclaré. Est ce que c'est une unité qui me manque ou la version que j'utilise de Delphi qui prend pas en charge ce type (j'utilise delphi 2005) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 lb1,lb2 : TLabel proc_TVarRec([lb1,lb2]);
Dans la deuxième partie j'ai une erreur TLabel et TVarRec incompatible. Est ce que vous auriez une solution pour faire un cast dans mon parmètre en TLabel et pouvoir l'utiliser comme un label classique (Affecter un text, le rendre visible ou non,...) ?
Partager