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 :
Ma procédure en cours :
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;
GtkAda_Interface : in out Arch.Pointers.Arch_Pointer;
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);
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 !
Partager