Probleme avec perl Tk

pentaracing

Membre actif
14 Décembre 2006
248
5
Bonjours, j'ai un srcit perl qui utilise le module Tk et lorsque je l'execute dans le terminal il me rend la main sans m'indiquer d'erreur. De plus j'ai windows avec parallels qui lui me lance bien la fenetre sans soucis et tou se passe bien. Doit je faire quelque chose de particulier pour que cela fonctionne ?
D'avance merci
 
Bonjours, j'ai un srcit perl qui utilise le module Tk et lorsque je l'execute dans le terminal il me rend la main sans m'indiquer d'erreur. De plus j'ai windows avec parallels qui lui me lance bien la fenetre sans soucis et tou se passe bien. Doit je faire quelque chose de particulier pour que cela fonctionne ?
D'avance merci
as-tu installer Perl Tk ?
 
Oui j'ai reussi a l'installer puisque lorsque je fait la commande perl -e 'use Tk' il ne me parle pas de la variables @INC et me rend la main sans soucis.
 
je vous donne un peu plus d'info sur le message.

couldn't connect to display ":0" at /Library/Perl/5.8.6/darwin-thread-multi-2level/Tk/MainWindow.pm line 55.
MainWindow->new() at /Users/avolant/Documents/BTS IG ARLE/DAIGL/Developpement/Progperso/Tk/adresse IP.pl line 48
 
je vous donne un peu plus d'info sur le message.

couldn't connect to display ":0" at /Library/Perl/5.8.6/darwin-thread-multi-2level/Tk/MainWindow.pm line 55.
MainWindow->new() at /Users/avolant/Documents/BTS IG ARLE/DAIGL/Developpement/Progperso/Tk/adresse IP.pl line 48
t'as essayé sous X11 ?
 
Comment faire pour essayé avec x11 ?
Ouvre X11 (/Applications/Utilities) et appel ton script depuis le xterm de X11 :)


Je propose ça parce qu'en général les truc qui appel ":0" il faut les ouvrir dans X11 (de mon experience personnel, ne pas généraliser et ne pas prendre comme une affirmation absolue)
 
Je ne trouve pas X11 dans applications>utilitaires.
Ce qui est bizar car j'ai installé un logiciel répondant a ce nom aujourd'hui. Il se trouvait sur le CD OSX. Mais je ne sais pas si c'est vraiment cela.
 
J'ai installer X11user peut etre est ce ca le probleme et celui SDK aussi mais je n'arrive pas a l'utiliser car je le trouve pas. Le développement sur mac me parait etre plus compliqué que sur PC non ?
 
J'ai installer X11user peut etre est ce ca le probleme et celui SDK aussi mais je n'arrive pas a l'utiliser car je le trouve pas. Le développement sur mac me parait etre plus compliqué que sur PC non ?
Mac OS X étant un unix, il est bien plus agréable à priori pour les développeurs, maintenant faudrait que quelqu'un qui sache d'où vient ton problème t'aide, parce que sinon forcement...


Le truc c'est que je ne me souvient de personne ayant eu le même problème...


As-tu essayer avec un autre script Perl/Tk simple pour voir si ça marchait ? Post le code de ton script ici pour que j'essaye chez moi si ça marche et/ou voir si quelqu'un peut t'aider :)
 
Oui j'ai essayé avec un simple qui fonctionne sans soucis sous windows. Je te donne quand meme le code :

Bloc de code:
#!/usr/bin/perl
use Tk;
sub QuitterApplication
 {
  exit ( 0 ) ;
 }
# Main
$fenetre = new MainWindow ( ) ;
$fenetre -> title ("Volant corporation" ) ;
$bouton = $fenetre -> Button ( -text => 'Quitter',
                               -command => \&QuitterApplication,
                               - underline => 0) ;
$fenetre -> bind ( "<Alt-Key-q>" , \&QuitterApplication ) ;
$bouton -> pack ( ) ;
MainLoop ( ) ;

C'est le code simplifier que j'ai et qui ne fonctionne pas non plus.
 
Oui j'ai essay&#233; avec un simple qui fonctionne sans soucis sous windows. Je te donne quand meme le code :

Bloc de code:
#!/usr/bin/perl
use Tk;
sub QuitterApplication
 {
  exit ( 0 ) ;
 }
# Main
$fenetre = new MainWindow ( ) ;
$fenetre -> title ("Volant corporation" ) ;
$bouton = $fenetre -> Button ( -text => 'Quitter',
                               -command => \&QuitterApplication,
                               - underline => 0) ;
$fenetre -> bind ( "<Alt-Key-q>" , \&QuitterApplication ) ;
$bouton -> pack ( ) ;
MainLoop ( ) ;

C'est le code simplifier que j'ai et qui ne fonctionne pas non plus.
&#231;a marche tr&#232;s bien chez moi, il suffit que X11 soit lanc&#233;, puis depuis n'importe quel terminal (le xterm de X11 ou le terminal d'Apple ou iTerm) &#231;a marche tr&#232;s bien :)
pentaracing.png


Es-tu s&#251;r d'avoir essay&#233; avec la bonne version de Perl (celle qui a Tk d'install&#233; est bien /usr/bin/perl comme dans le shebang de ton script) ?

Par exemple si tu utilise Perl dans /opt/local/bin (celui de MacPort) et que c'est "sur" lui que tu as install&#233; Perl/Tk (avec cpan ou p5-tk de macport) alors dans le xterm tu dois pr&#233;ciser /opt/local/bin/perl et pas perl tout seul sinon tu utilise celui de /usr/bin/perl qui n'a pas forcemment Tk d'installer :)
 
Comment puis je vérifier ou est installé Tk.
J'ai été sur un site de CPAN ou j'ai telechargé le module. Ensuite je l'ai dézipé. Tapé dans le terminal perl Makefile.pl, ensuite make , ensuite make install et make test ensuite j'ai tapé perl -e 'use Tk' et la il me rend la main sans soucis.
 
Comment puis je vérifier ou est installé Tk.
J'ai été sur un site de CPAN ou j'ai telechargé le module. Ensuite je l'ai dézipé. Tapé dans le terminal perl Makefile.pl, ensuite make , ensuite make install et make test ensuite j'ai tapé perl -e 'use Tk' et la il me rend la main sans soucis.
Ben &#224; priori c'est install&#233;...

Moi j'ai install&#233; Tk via cpan (en ligne de commande sudo cpan -i 'Tk') et &#231;a marche tr&#232;s bien... Essaye comme &#231;a, peut-&#234;tre que le probl&#232;me vient d'une mauvaise installation de Tk :confused:
 
Ben à priori c'est installé...

Moi j'ai installé Tk via cpan (en ligne de commande sudo cpan -i 'Tk') et ça marche très bien... Essaye comme ça, peut-être que le problème vient d'une mauvaise installation de Tk :confused:

Il viens de me le mettre a jour mais cela ne fonctionne toujours pas. Seul différence je n'ai plus le message d'erreur.
C'est bien comme sous windows ou j'execute dans le terminal et la fenetre souvre en attendant le terminal est bloké ?
 
Il viens de me le mettre a jour mais cela ne fonctionne toujours pas. Seul diff&#233;rence je n'ai plus le message d'erreur.
C'est bien comme sous windows ou j'execute dans le terminal et la fenetre souvre en attendant le terminal est blok&#233; ?
Oui (mais c'est plut&#244;t sur Windows que c'est comme sous unix ;)).

As-tu bien l'application X11 lanc&#233; au moment o&#249; tu appelles le script ?
 
Je vais t'expliquer ma demarche:
Tout d'abord j'ouvre X11
ensuit dans X11 je tape cd Desktop.
Ensuite perl nom_fichier.pl

et il me rend la main sans rien dire
Apres peut etre que j'utilise mal X11.