Re: Les Callback en Ada

Liste des Groupes 
Sujet : Re: Les Callback en Ada
De : dmandimayagha (at) *nospam* gmail.com (Danielle Mandi Mayagha)
Groupes : fr.comp.lang.ada
Date : 21. Sep 2021, 16:31:20
Autres entêtes
Message-ID : <d643b3e2-5d85-4986-b4e1-5cb5568a5e10n@googlegroups.com>
References : 1 2 3 4 5
User-Agent : G2/1.0
Le lundi 20 septembre 2021 à 18:07:03 UTC+1, DrPi a écrit :
Bonjour,
 
Le 20/09/2021 à 02:51, Danielle Mandi Mayagha a écrit :
...
Salut désolé encore si je dérange mais j'ai un second souci que j'arrive pas à résoudre( voila je donne un exemple du code apres j'explique le probleme)
 
ficfier.ads
 
with Gtk.File_chooser_dialog; use gtk.file_file_chooser_dialog;
with gtk.widget; use gtk.widget;
with gtk.handlers;
 
package P_fichier is
 
type T_Type is record
 
F : Gtk_file_chooser_dialog;
 
end record;
 
package Callback is new gtk.handlers.user_callback (gtk_widget_record, P_fichier.T_Type);
 
use Callback;
 
Procedure Stop_Program ( emetteur : access gtk_widget_record;
object : out P_fichier.T_Type );
 
end P_fichier;
 
fichier.adb
 
package body P_fichier is
 
Procedure Stop_Program is (emetteur : access gtk_widget_record;
object : out P_fichier.T_type ) is
pragma Unreferenced (emetteur);
 
begin
 
gtk_new (Object.F, "ajout du fichier", action_Save, null);
 
end Stop_Program;
end P_fichier;
 
main_program.adb
 
with gtk.main; use gtk.main;
with gtk.window; use gtk.window;
with gtk.button; use gtk.button;
with P_fichier; use P_fichier;
 
Procedure main_Program is
 
win : gtk_window;
bouton : gtk_button;
 
begin
init;
 
gtk_new (win);
win.set_default_size (600,400);
 
gtk_new (bouton,"ouvrir le fichier");
 
declare
 
Object : T_Type;
 
begin
 
P_fichier.callback.connect (bouton,s signal_clicked, callback.to_marshaller (stop_program'
access, Object, false );
 
end ;
 
win.Add (bouton);
win.show_all;
main;
end main_program;
 
voila le probleme est que le programme affiche le meme message d'erreur que precedent pourtant j'ai bien mis Stop_Program dans un fichier separe. mais je ne comprend pas j'ai essayé avec Object_connect mais c'est toujours pareil.
>
A première lecture du programme, le problème n'est plus avec
stop_program mais avec Object.
Object n'existe qu'entre declare et le end correspondant.
Il n'est donc pas possible de l'utiliser dans une callback.
 
Nicolas


Ah j'ai déjà essayé cela mais ça ne marche toujours pas

Date Sujet#  Auteur
16 Sep 21 * Les Callback en Ada8Danielle Mandi Mayagha
16 Sep 21 `* Re: Les Callback en Ada7J-P. Rosen
17 Sep 21  `* Re: Les Callback en Ada6Danielle Mandi Mayagha
20 Sep 21   `* Re: Les Callback en Ada5Danielle Mandi Mayagha
20 Sep 21    +* Re: Les Callback en Ada3DrPi
21 Sep 21    i`* Re: Les Callback en Ada2Danielle Mandi Mayagha
20 Jan 22    i `- Re: Les Callback en Ada1Thomas
21 Sep 21    `- Re: Les Callback en Ada1Ludovic Brenta

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal