Ajouter un Evenement sur des composants appartenant à des form differentes
Salut,
Voici mon problème: En m'inspirant de la FAQ, je souhaitais autoriser uniquement la saisie des chiffres dans mes TEdit en utilisant ce code:
Code:
1 2 3 4 5 6 7 8
| Procedure SelectionNumeriqueOnEdit(Sender: TObject;var Key: char);
Begin
If not (Key in ['0'..'9', DecimalSeparator, Chr(VK_BACK), Chr(VK_DELETE)]) then
Key := #0;
if Key = DecimalSeparator then
if Pos(DecimalSeparator, (Sender AS TEdit).Text) <> 0 then
Key := #0;
End; |
Qui fonctionne nickel si j'écris ma procédure dans l'unité qui contient mon TEdit.
Mais en plaçant cette procédure (en public) dans une unité globale, et en tentant, pour chaque form, t'utiliser findcomponent (et IS TEDit) pour appliquer cette procédure à tous mes évènements OnKeyPress de mes Edits, ça ne passe pas.
Même si j'execute ce code sur un seul de mes Edit (qui est sur Form1 par exemple):
Code:
Edit1.OnKeyPress:= TGlobale.SelectionNumeriqueOnEdit;
j'ai un message d'erreur:
Code:
[Erreur]E2009 Types incompatibles : 'pointeur de méthode et procédure normale'
Quelqu'un saurait-il comment affecter ma procedure à tous mes Edits, quelque soit leurs form sur laquelle ils se situent?
Merci pour tout,
A+.