hello,
je voudrais passer en parametre d'une procédure une variable de type MaskEdit.
qq'un peut-il m'aider ...
Merci d'avance
Loci
Version imprimable
hello,
je voudrais passer en parametre d'une procédure une variable de type MaskEdit.
qq'un peut-il m'aider ...
Merci d'avance
Loci
Salut
C'est un objet comme un autre, n'oublie cependant pas qu'il sera transmis comme une référence (comme un paramètre var implicite).
cdlt
e-ric
Merci e-ric
mais j'ai encore une question. :oops:
je n'arrive pas à récupérer les propriétés du MaskEdit , une fois passé en param dans ma procédure.
Je sais pas si tu vois ce que je veux dire.
Je voudrais faire un .Text dans ma proc pour mon MaskEdit passé en param.
loci
Je ne vois pas le problème si tu passes le TMaskEdit en paramètre, mais la condition pour pouvoir accéder directement aux propriétés est que le paramètre formel de ta procédure soit TMaskEdit, sinon tu seras limité par le polymorphisme.
Mais :Code:
1
2
3
4
5 procedure toto(me: TMaskEdit); begin // No problem end;
le passage par référence, systématique pour les objets en Delphi, fait que l'objet paramètre effectif (l'objet passé en paramètre à l'appel) est bien celui qui est manipulé et non pas une copie de celui-ci.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 procedure toto(ctrl: TControl); begin // les propriétés spécifiques de TMaskEdit // ne sont pas accessibles sauf avec un cast: TMaskEdit(ctrl).Text := 'Hi man!'; end; // ou un peu plus propre procedure toto_bis(ctrl: TControl); begin // les propriétés spécifiques de TMaskEdit // ne sont pas accessibles sauf avec un cast: if Ctrl is TMaskEdit then (Ctrl as TMaskEdit).Text := 'Hi man!'; end;
cdlt
e-ric
merci bcp e-ric
pb résolu !
en faite ma procédure était dans une Unité à part... donc je l'ai mise dans l'unité de la form (où il y a mes MaskEdit).
Et donc le code que tu m'as filé fonctionne !
alors c'est bon... loci contente :D
merci pour ton aide