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:
Qui fonctionne nickel si j'écris ma procédure dans l'unité qui contient mon TEdit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
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):
j'ai un message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Edit1.OnKeyPress:= TGlobale.SelectionNumeriqueOnEdit;
Quelqu'un saurait-il comment affecter ma procedure à tous mes Edits, quelque soit leurs form sur laquelle ils se situent?
Code : Sélectionner tout - Visualiser dans une fenêtre à part [Erreur]E2009 Types incompatibles : 'pointeur de méthode et procédure normale'
Merci pour tout,
A+.
Partager