Retourner aux forums || Retourner au forum Programmation.perl
Programmation.perl : Gtk2 : rafraichissement d'un champ Gtk2::Entry
Posté par Julien Vehent (Jabber id, page perso, ) le 17 juillet 2006je programme actuellement une interface en Gtk2 ou j'utilise des champs de date pour lancer une exploitation de logs entre ces dates.
C'est très simple, j'ai deux champs $datedebut et $datefin qui sont du type Gtk2::Entry->new_with_max_length(10) et j'ai également un bouton qui appel la fonction "lancer"
dans cette fonction "lancer" je fais mes deux récupérations de valeurs :
my $debut_exp = $datedebut->get_text();
my $fin_exp = $datefin->get_text();
Celà marche bien. Mais quand mon exploitation est terminée et que je veux en lancer une deuxième, je modifie mes valeurs de date et je clic sur "lancer". C'est à ce moment que j'ai une erreur :
*** unhandled exception in callback:
*** Can't call method "get_text" without a package or object reference at [CHEMIN VERS MON APPLICATION] line 755.
*** ignoring at [CHEMIN VERS MON APPLICATION] line 654.
[CHEMIN VERS MON APPLICATION]> Can't call method "get_text" without a package or object reference
Je ne vois pas pourquoi Gtk ne réinitialise pas ces valeurs et pourquoi il me renvoie un tel message dans la tronche....
Si quelqu'un a une idée, je suis preneur
www.linuxwall.info
Gtk2 : rafraichissement d'un champ Gtk2::Entry
apparement, il trouve pas la fonction. Sans doute que la fonction n'existe pas ...
d'après la documentation : http://gtk2-perl.sourceforge.net/doc/pod/Gtk2/Entry.html#str(...) il n'y aurait pas besoin des "()" ;-)
-
[^]Re: Gtk2 : rafraichissement d'un champ Gtk2::Entry
Posté par Julien Vehent (Jabber id, page perso, ) le 17/07/2006 à 14:02. (lien). Évalué à 1.oui effectivement, pas besoin des parenthèses mais ca ne change rien..
j'ai l'impression que quand je lui demande d'exécuter une deuxième fois ma fonction "lancer" il a perdu les objets $datedebut et $datefin....
mais je comprend pas pourquoi, ni comment le corriger :(--
www.linuxwall.info-
[^]Re: Gtk2 : rafraichissement d'un champ Gtk2::Entry
Posté par Julien Vehent (Jabber id, page perso, ) le 26/07/2006 à 08:51. (lien). Évalué à 1.trouvé !
juste après la création du widget, je le stocke dans une table de hachage globale
$Widgets{datedebut} = $datedebut ;
et dans ma fonction lancer je le rapelle comme ca :
my $tmpwidget = $Widgets{datedebut};
my $valeur = $tmpwidget->get_text;
et c'est tout bon ;)--
www.linuxwall.info
-
Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.perl



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.