comp.lang.ada
 help / color / mirror / Atom feed
* What does this error mean and how do I correct this?
@ 2023-09-01 21:04 richardthiebaud
  2023-09-01 21:41 ` Luke A. Guest
  0 siblings, 1 reply; 7+ messages in thread
From: richardthiebaud @ 2023-09-01 21:04 UTC (permalink / raw)


in the following program:

with Gtk.Enums; use Gtk.Enums;
with Gtk.Main;
with Gtk.Window;
with Gdk;
with Gdk.Event;
with Glib;
with Glib.Object;

procedure test1 is
    Win       : Gtk.Window.Gtk_Window;
    function Handler
      (Self  : access Glib.Object.GObject_Record'Class;
       Event : Gdk.Event.Gdk_Event_Button) return Boolean is
    begin
       Gtk.Main.Main_Quit;
       return True;
    end Handler;
    --
    --  defined in gtk-widget.ads
    --
    --  type Cb_GObject_Gdk_Event_Button_Boolean is not null access function
    --  (Self  : access Glib.Object.GObject_Record'Class;
    --   Event : Gdk.Event.Gdk_Event_Button) return Boolean;

begin  -- Gtk.Init;
    Gtk.Main.Init;
    Gtk.Window.Gtk_New (Window => Win, The_Type => 
Gtk.Enums.Window_Toplevel);
    Win.Set_Position (Win_Pos_Center);
    Gtk.Window.Set_Title (Window => Win, Title => "Editor");
    Gtk.Window.Show_All (Win);
    Win.On_Button_Press_Event     <------------ line that gets the error
       (Call =>  Handler'Access,
        After => False,
        Slot =>  Win);
    Gtk.Main.Main;
end test1;

I get the compiler error message:

test1.adb:32:17: subprogram must not be deeper than access type

What does this mean and how can I correct it?

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-09-03 18:44 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-01 21:04 What does this error mean and how do I correct this? richardthiebaud
2023-09-01 21:41 ` Luke A. Guest
2023-09-01 21:44   ` Luke A. Guest
2023-09-01 22:51     ` richardthiebaud
2023-09-03 14:06       ` Simon Wright
2023-09-03 15:22         ` Luke A. Guest
2023-09-03 18:44         ` Simon Wright

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox