#1 Le 27/05/2008, à 15:41
- Val3rian
[ Perl ] glib::timeout provoque erreur: Can't locate object method
Bonjour,
Je programme un petit logiciel qui va changer mon wallpaper toutes x secondes/minutes.
J'utilise un fichier .xml qui contient les wallpapers et leurs propriétés (couleurs de fond, centré/étiré/redimensionné/...).
Ce fichier est lu et mis en mémoire.
Ensuite, une fonction choisit un wallpaper au hasard et l'affiche. Jusque la, pas de problème.
Mais il me faudrait maintenant appeler cette fonction à un interval x.
Gtk2->main;
$timer=Glib::timeout->add($change_millisec, \&Change_Wallpaper);
Mais cela ne fonctionne pas...
J'obtiens l'erreur suivante:
*** Can't locate object method "add" via package "Glib::timeout" (perhaps you forgot to load "Glib::timeout"?) at grw.pl line 107.
*** ignoring at grw.pl line 72.
J'ai bien mis "use glib" et la lib est installée :s
Comment puis-je résoudre ça ? Ou avez-vous une alternative (autre qu'un sleep qui empêcherait mon programme de faire autre chose comme rajouter un wall, changer manuellement de wall, etc)?
Merci d'avance
#2 Le 27/05/2008, à 19:16
- Val3rian
Re : [ Perl ] glib::timeout provoque erreur: Can't locate object method
Bonjour,
J'ai contourné le problème en utilisant un mécanisme différent avec un sleep dans un fonction threadé ...
Merci quand même.