IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ Discussion :

Connecter un signal : ça compile mais ça passe pas à l'exécution. [GtkAda]


Sujet :

GTK+

  1. #1
    Invité
    Invité(e)
    Par défaut Connecter un signal : ça compile mais ça passe pas à l'exécution. [GtkAda]
    Bonjour,

    J'ai un problème avec une connexion avec des pointeur :
    La souche du type pointé :
    Code ada : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    package Arch is
       pragma Pure (Arch);
     
       type Interfaces_Type is (Graphical, Textual);
     
       type Arch_Interface_Type(Context : Interfaces_Type) is abstract tagged limited null record;

    Le pointeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    with System.Address_To_Access_Conversions;
    package Arch.pointers is
     
       package Arch_Conversion is new System.Address_To_Access_Conversions(Arch_Interface_Type'class);
       subtype Arch_Pointer is Arch_Conversion.Object_Pointer;   
    end Arch.Pointers;
    Ma procédure en cours :
    Code ada : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     type Main_Window_Type is access all Main_Window_Record'Class;
     
       type GtkAda_Interface_Record(Computer : access Ai.Computer_Type) is new Arch_Interface_Type(Graphical) with
          record             
     
             Main_Window                   : Main_Window_Type;
          end record;
     
     
       procedure GtkAda_Initialize (GtkAda_Interface : in out Arch.Pointers.Arch_Pointer; Quiet : in Boolean; Errno : out Integer);
    GtkAda_Interface : in out Arch.Pointers.Arch_Pointer;
    La connexion :
    Code ada : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     Common_Notebook_Cb.Connect
            (GtkAda_Interface_Record(GtkAda_Interface.all).Main_Window.Book, "switch_page", 
             Common_Notebook_Cb.To_Marshaller (Page_Switch'Access),       
           Arch.Pointers.Arch_Conversion.To_Address(GtkAda_Interface));

    J'espère que vous pourrez m'aider. Merci !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    J'ai trouvé ce qui dérangeait dans mon programme : le paramètre params de la procédure Switch_Page.

    Comme je l'ai remplacé, il ne pouvais pas initialiser la variable qui l'utilise.

    Du coup j'apprends peut-être un truc : apparemment Ada ou gtk initialise la procédure avant de l'utiliser.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    que faut- il encore entendre ? Bref.


    Je reviens pour me corriger.

    Alors, non, pas vraiment, Ada ou même Gtk n'initialize pas évidement les fonction et procédure avant de les utiliser.

    je pense que la procédure connectée ici est appelée à la connexion du signal.
    Simplement.

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

Discussions similaires

  1. Le programme compile mais ne tourne pas
    Par jarmouz dans le forum Pascal
    Réponses: 3
    Dernier message: 01/12/2010, 22h34
  2. Réponses: 3
    Dernier message: 06/05/2009, 09h20
  3. pas de problème de compil mais ne marche pas!
    Par yvkoe dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 18/09/2007, 14h20
  4. RAM mais où passe-t-elle
    Par pinocchio dans le forum Sécurité
    Réponses: 3
    Dernier message: 02/12/2005, 09h04
  5. Réponses: 2
    Dernier message: 23/09/2003, 14h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo