# Probleme avec perl Tk



## pentaracing (25 Avril 2007)

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


----------



## p4bl0 (25 Avril 2007)

pentaracing a dit:


> 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 ?


----------



## pentaracing (25 Avril 2007)

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.


----------



## p4bl0 (25 Avril 2007)

pentaracing a dit:


> 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.


Alorsje suis d&#233;sol&#233; je ne sais pas t'aider, attends que quelqu'un d'autre vienne


----------



## pentaracing (25 Avril 2007)

Ok merci bcp quand meme.


----------



## pentaracing (25 Avril 2007)

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


----------



## p4bl0 (25 Avril 2007)

pentaracing a dit:


> 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&#233; sous X11 ?


----------



## pentaracing (25 Avril 2007)

Comment faire pour essayé avec x11 ?


----------



## p4bl0 (25 Avril 2007)

pentaracing a dit:


> Comment faire pour essay&#233; avec x11 ?


Ouvre X11 (/Applications/Utilities) et appel ton script depuis le xterm de X11 


Je propose &#231;a parce qu'en g&#233;n&#233;ral les truc qui appel ":0" il faut les ouvrir dans X11 (de mon experience personnel, ne pas g&#233;n&#233;raliser et ne pas prendre comme une affirmation absolue)


----------



## pentaracing (25 Avril 2007)

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.


----------



## pentaracing (25 Avril 2007)

Ok je viens de trouver X11 mais meme dans cette application mon script ne me donne toujours pas de fenetre alors que oui sous windows.


----------



## pentaracing (26 Avril 2007)

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 ?


----------



## p4bl0 (26 Avril 2007)

pentaracing a dit:


> 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 &#233;tant un unix, il est bien plus agr&#233;able &#224; priori pour les d&#233;veloppeurs, maintenant faudrait que quelqu'un qui sache d'o&#249; vient ton probl&#232;me t'aide, parce que sinon forcement...


Le truc c'est que je ne me souvient de personne ayant eu le m&#234;me probl&#232;me...


As-tu essayer avec un autre script Perl/Tk simple pour voir si &#231;a marchait ? Post le code de ton script ici pour que j'essaye chez moi si &#231;a marche et/ou voir si quelqu'un peut t'aider


----------



## pentaracing (26 Avril 2007)

Oui j'ai essayé avec un simple qui fonctionne sans soucis sous windows. Je te donne quand meme le 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.


----------



## p4bl0 (26 Avril 2007)

pentaracing a dit:


> Oui j'ai essay&#233; avec un simple qui fonctionne sans soucis sous windows. Je te donne quand meme le code :
> 
> 
> ```
> ...


&#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 






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


----------



## pentaracing (26 Avril 2007)

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.


----------



## p4bl0 (26 Avril 2007)

pentaracing a dit:


> 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


----------



## pentaracing (26 Avril 2007)

p4bl0 a dit:


> 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



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é ?


----------



## p4bl0 (26 Avril 2007)

pentaracing a dit:


> 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 ?


----------



## pentaracing (26 Avril 2007)

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.


----------



## p4bl0 (26 Avril 2007)

pentaracing a dit:


> Je vais t'expliquer ma demarche:
> Tout d'abord j'ouvre X11
> ensuit dans X11 je tape cd Desktop.
> Ensuite perl nom_fichier.pl
> ...


Alors essaye de faire la m&#234;me chose, mais &#224; laplace de taper perl nom_fichier.pl dans le terminal de X11, tape le dans Terminal.app (mais toujours avec X11 ouvert).

Peut-&#234;tre que le perl de X11 n'est pas le m&#234;me que celui du terminal d'Apple. (tape "which perl" dans chacun des deux terminal et si il te renvoi la m&#234;me chose alors ce que je viens de te proposer ne sert &#224; rien et je ne sais pas comment t'aider : &#231;a devrait marcher mais &#231;a ne marche pas... Il doit y avoir autre chose qui rentre en jeu...


----------



## pentaracing (26 Avril 2007)

Cela ne fonctionne pas. Je viens de passer sous mac et mes developpement je les fesaient sous windows avec parallels. Je pense installer Bootcamp et y mettre windows pour mes developpements.

En tout cas je te remercie bcp de m'avoir donné autant de conseils.


----------



## p4bl0 (27 Avril 2007)

pentaracing a dit:


> Cela ne fonctionne pas. Je viens de passer sous mac et mes developpement je les fesaient sous windows avec parallels. Je pense installer Bootcamp et y mettre windows pour mes developpements.
> 
> En tout cas je te remercie bcp de m'avoir donné autant de conseils.


Essaye quand m&#234;me de te rappeler &#224; quel moment tu as pu faire une erreur ou une connerie qui entra&#238;ne ce truc sur ton mac...

Par ce qu'avoir un unix et installer windows pour d&#233;velopper (pour jouer &#224; des jeux non port&#233;e ok) c'est vraiment un comble... M'enfin fait ce que tu veux


----------



## pentaracing (27 Avril 2007)

Je ne vos pas quand j'ai fait une erreur, j'ai suivie un tuto pour installer le module.
De plus je n'ai pas de message d'erreur. La syntaxe est bien la meme que sous windows?
Je pense que oui etant donné que tu arrive a executer mon sripte.
La commande pour verifier le module ne me donne pas d'erreur donc je pense que le module est ok et bien installé.
Je ne doit rien faire avec la carte graphique ? elle est prise ne compte automatiquement non ?
Sinon je ne vois pas la solution.


----------



## tatouille (28 Avril 2007)

http://wxperl.sourceforge.net/sshot01.html


----------

