Règles du forum

Le langage Ada uniquement, pas les compilateurs. Les questions de sémantique et de langage et les questions techniques liées à une application en particulier, son deux choses différentes. Si nécessaire, un forum sur GNAT et les autres compilateurs, tel JanusAda, sera ouvert.

Auteur Message
Beau Parleur
Avatar de l’utilisateur
Bonjour,

A priori, j'ai un problème pour initialiser une variable Gtk.

Il s'agit d'une Gvalues qui doit passer en paramètre d'un appel de procedure qui attends le type Gvalues en parametre.

Voici ma déclaration pour cet objet :

Source ada : 

Values       : Gvalues;
Value : Gvalue;
Values_Tab : Gvalue_Array(1..1);


Normalement, je n'ai qu'une seule valeur à passer en parametre donc mon tableau fait 1..1.

Après côté initialisation :

Source ada : 

Init(Value, Gtype_String);
-- cette ligne initialize une Gvalue.
Set_String(Value, Integer'Image(Integer(Id)));
-- là, j'affecte la valeur de la variable Value.
Values_tab(1) := Value;
-- j'affect le tableau, mais c'est peut-être pas le bon tableau.
Values := Make_Values(1, Values_tab'address);
-- Enfin j'initialize la Gvalues.
-- pour la passer en appel de procedure


Mais la procedure n'est pas appellé, le programme est planté là.

La procedure est un callback dont je force l'exécution et spécifié comme suit :

Source ada : 

procedure Device_Properties
(Model : access GObject_Record'Class;
Params : Glib.Values.GValues;
User_Data : Work_Window_Access);


Je sèche en attendant votre aide.
Merci.
Profil
Beau Parleur
Avatar de l’utilisateur
Ohp !

J'ai trouvé, en fait je cherchais à lire dans la partie déclarative une variable à une position ou il n'y a rien.

Enfin bref, je progresse.

Merci en tout cas.
Profil