Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 14 sur 14
  1. #1
    Membre confirmé
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    mai 2010
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : mai 2010
    Messages : 232
    Points : 216
    Points
    216

    Par défaut Problème de version pour le widget ROText

    Bonjour,

    j'ai créé il y a quelques temps un programme Perl/Tk sur un PC avec la version 5.8.8 de Perl.
    J'ai essayé de lancer ce programme sur un autre PC avec la version 5.10.0 de Perl, et j'ai eu l'erreur suivante:

    Code :
    Tk::Error : no event type or button # or keysym at usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/Tk/Widget.pm line 1105, <PREF> line 3
    Cette erreur apparaît uniquement pour les widgets de Type Text ou ROText. Je voulais donc savoir s'il y avait eu des modifications de ce widget entre la version 5.8.8 et 5.10.0 (si la version de Tk correspond à celle de Perl?), et de manière générale comment connaître les modifications entre les différentes versions de Tk.

    Merci d'avance!

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 545
    Points : 465 270
    Points
    465 270

    Par défaut

    C'est étrange car ayant bossé sous pratiquement toutes les versions de Perl et Tk, je n'ai jamais eu ce souci.

    Peux-tu nous montrer ton code ?
    Quelle version de Tk utilises-tu sur tes deux PC ?
    Code :
    perl -MTk -e "print $Tk::VERSION"

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  3. #3
    Membre confirmé
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    mai 2010
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : mai 2010
    Messages : 232
    Points : 216
    Points
    216

    Par défaut

    Merci pour ta réactivité!
    Alors sur le PC que j'ai utilisé pour développer, j'ai la version 804.027.
    Sur le PC ou l'interface ne fonctionne pas, j'ai la version 804.028.
    Voici mon code:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #!/usr/bin/perl
    use strict;
    use warnings;
    use Tk;
    use Tk::ROText;
     
    my $main_window = MainWindow->new;
    $main_window->configure(-title=>"Exemple",-width=>200,-heigh=>200);
    $main_window->ROText()->place(-x=>100,-y=>150);
    $main_window->Button(-text=>"Parcourir...",-command=>sub{print "appui bouton\n"})->place(-x=>100,-y=>100);
     
    MainLoop;
    Si je mets le widget ROText en commentaire, mon interface s'affiche correctement. Dans mon code complet ou j'utilise un certain nombre de widgets différents, Text et ROText sont les seuls à poser problème.

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 545
    Points : 465 270
    Points
    465 270

    Par défaut

    ça fonctionne chez moi sous Tk 804.028 ou 804.029.

    Tu es sous quel OS ?

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  5. #5
    Membre confirmé
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    mai 2010
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : mai 2010
    Messages : 232
    Points : 216
    Points
    216

    Par défaut

    Sur le premier PC je suis sur Linux Mandriva 2007.0 (kernel 2.6.17.5) et sur le deuxième (celui ou ça ne marche pas) je suis sur Mandriva 2009.1 (kernel 2.6.29.6).
    Tu penses que ça peut venir de la version de Mandriva?

  6. #6
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 545
    Points : 465 270
    Points
    465 270

    Par défaut

    Bah je ne sais pas comment Perl et surtout le module Tk est installé dessus. Surement une mauvaise installation.

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  7. #7
    Membre confirmé
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    mai 2010
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : mai 2010
    Messages : 232
    Points : 216
    Points
    216

    Par défaut

    Très bien merci pour ton aide, ce n'est pas moi qui m'occupe de l'installation des programmes (ce sont des PC de mon boulot), je vais voir ça avec la personne qui a les droits.
    Je vous redis si je trouve la cause du problème!

  8. #8
    Membre confirmé
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    mai 2010
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : mai 2010
    Messages : 232
    Points : 216
    Points
    216

    Par défaut

    J'ai été voir dans le fichier qui me génère l'erreur, Widget.pm: l'erreur provient de la fonction MouseWheelBind (donc la gestion des évènements liés à la molette de la souris), et plus particulièrement de la ligne suivante:

    Code :
    1
    2
    3
     
     $mw->Tk::bind($class, '<MouseWheel>',
    	       [ sub { $_[0]->yview('scroll',-($_[1]/120)*3,'units') }, Tk::Ev("D")]);
    J'ai mis cette ligne en commentaire, et mon programme a marché. Apparement le bug est lié à la version de Mandriva (2009).
    Je ne me sers pas des évènements "MouseWheel", donc la mise en commentaire est une solution suffisante pour moi; je ne sais pas comment corriger le problème autrement.
    Je mets donc le sujet comme résolu!

  9. #9
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 545
    Points : 465 270
    Points
    465 270

    Par défaut

    C'est très très très mal de toucher aux sources des modules de la sorte . Comment sais-tu que c'est lié à la version 2009 de Mandriva ?

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  10. #10
    Membre confirmé
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    mai 2010
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : mai 2010
    Messages : 232
    Points : 216
    Points
    216

    Par défaut

    Oui désolée
    Mais bon même la responsable informatique m'a dit que c'était la seule solution qu'elle avait trouvé jusqu'à maintenant (je ne le savait pas mais elle avait déjà étudié le problème)... et moi j'ai besoin que ça marche!
    Après c'est moi qui pense que ça vient de la version 2009 parce que c'est l'explication qui me vient à l'esprit, mais bon je n'en sais rien ^^

    En tout cas si quelqu'un a eu le problème et comprend d'où ça vient, je suis preneuse de l'explication!

  11. #11
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 545
    Points : 465 270
    Points
    465 270

    Par défaut

    Une bonne idée serait de désinstaller le module Tk puis de le réinstaller. Peux-tu le faire ?
    Charche dans la FAQ, j'y ai mis un programme pour désinstaller le module sous Linux, puis tu le réinstalle.

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  12. #12
    Membre confirmé
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    mai 2010
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : mai 2010
    Messages : 232
    Points : 216
    Points
    216

    Par défaut

    Malheureusement non je ne peux pas le faire (pas les droits).
    D'après la responsable informatique il existe un patch correctif, mais qui finalement ne fonctionne pas; je n'ai pas beaucoup d'informations là-dessus...

  13. #13
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    16 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 16 545
    Points : 465 270
    Points
    465 270

    Par défaut

    Il faut lui dire de faire en root (pas en sudo) la commande suivante :
    Code :
    1
    2
    cpan
    force install Tk
    Ainsi, ça installera la dernière version de Tk. C'est la meilleure solution.

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  14. #14
    Membre confirmé
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    mai 2010
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : mai 2010
    Messages : 232
    Points : 216
    Points
    216

    Par défaut

    Très bien je transmettrai le message. Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •