comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic.brenta@insalien.org>
Subject: Re: GtkAda / Ada Newbie Question
Date: 12 Nov 2003 02:10:14 +0100
Date: 2003-11-12T02:10:14+01:00	[thread overview]
Message-ID: <m3r80e75op.fsf@insalien.org> (raw)
In-Reply-To: pan.2003.11.11.23.11.55.730374@Smoke

"J Cusick" <Joe@Smoke.not> writes:

> I'm new to both Ada and GtkAda and have a question regarding my first
> basic hello world program.
> 
> These are the lines in question:
> 
> procedure Simple is
>    S_Window : Gtk.Window;
>    S_Button : Gtk.Button;
> 
> and this is the error I get when attempting gnatmake:
> 
> simple.adb:8:18: subtype mark required in this context simple.adb:8:18:
> found "Window" declared at gtk-window.ads:59 simple.adb:9:18: subtype mark
> required in this context simple.adb:9:18: found "Button" declared at
> gtk-button.ads:41
> 
> This is of course followed by subsequent errors along the lines of:
> 
> simple.adb:28:07: must be an access-to-object type
> 
> every place that S_Window or S_Button shows up.
> 
> I have absolutely no clue what this error is telling me. What is a
> "subtype mark" and how do I supply one?

Loosely speaking, a subtype mark is the name of a type or subtype.  If
you need a formal definition of this or other terms, see the Ada
Reference Manual but this is not for the faint of heart.  Here, you
supplied the names of two packages instead of names of types or
subtypes.  You should have said:

S_Window : Gtk.Window.Gtk_Window_Record;
S_Button : Gtk.Button.Gtk_Button_Record;

> As I have mentioned, I'm just starting to climb the learning curve for
> both Ada and GtkAda, so any help or pointers are greatly
> appreciated.Thanks for any answers regarding this question.
> 
> Regards,
> 
> John C.

Here are a few hints:

1) Use glade2 to build your user interface using a point-and-click
   interface, then use gate2 to generate Ada code from the .glade
   file.  Then, study how the generated Ada code works.  There are
   also several examples that come with GtkAda, one of which is hello
   world.

2) Go to http://libre.act-europe.fr/GtkAda and subscribe to the
   mailing lists there.  Questions specific to GtkAda are best
   answered there.

3) Study the *.ads files provided with GtkAda.  They include a wealth
   of documentation in comments.  For example, the file
   "gtk-window.ads" contains the specification for the package
   Gtk.Window.

HTH

-- 
Ludovic Brenta.




  reply	other threads:[~2003-11-12  1:10 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-11 23:11 GtkAda / Ada Newbie Question J Cusick
2003-11-12  1:10 ` Ludovic Brenta [this message]
2003-11-12  4:00   ` J Cusick
2003-11-12 12:51     ` Preben Randhol
replies disabled

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