Bonjour les TCLeux
J'ai une question sur les "nouveaux" TCL::oo, pour ceux qui les ont déjà utilisés.
Pourquoi lorsque je lance ce script ai-je une erreur "invalid command name "::oo::Obj52*printMess".
Je pense que la portée de l'objet est trop faible et que lorsqu'il est dans la boucle d'évènement TK $monObjet et donc l'objet qu'il référence n'existe plus, mais comment faire dans ce cas pour mixer oo et TK ? Pour mettre ses commandes de widgets TK dans un objet ?
Merci d'avance.
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 package require Tk oo::class create essaiWin { variable nomWin constructor {nom} { set nomWin .essai toplevel $nomWin grid [button $nomWin.but -command [namespace code "[self]*printMess"] -text "Boutton"] -row 3 -column 0 -sticky ew } method printMess {} { tk_messageBox -message "Appui sur le boutton" } } set monObjet [essaiWin new .essai]
Partager