From: hreba <hreba@terra.com.br>
Subject: Re: Generic Library Units?
Date: Sun, 12 Oct 2014 19:39:49 -0300
Date: 2014-10-12T19:39:49-03:00 [thread overview]
Message-ID: <ca0e9mFdl2vU1@mid.individual.net> (raw)
In-Reply-To: <10ir7anot1ujj$.kcl1b5ynppz8.dlg@40tude.net>
On 10/12/2014 12:47 PM, Dmitry A. Kazakov wrote:
> On Sun, 12 Oct 2014 11:38:16 -0300, hreba wrote:
>
> A child of a generic package must be generic. I.e. you should declare it
> this way:
>
> generic
> package GuiGtk.SimpleGad is
>
Did that. And I added to Gui.ads the line
with package TKSG is new GuiGtk.SimpleGad;
Now the line in mainaux.ads:
package GuiTK is new Gui(Toolkit);
which was correct before, is accused:
mainaux.ads:10:04: missing actual "TKSG"
mainaux.ads:10:04: in instantiation of "Gui" declared at gui.ads:13
Adding
package ToolkitSG is new GuiGtk.SimpleGad;
before that line gets me
mainaux.ads:9:29: invalid prefix in selected component "GuiGtk"
Replacing it with
package ToolkitSG is new Toolkit.SimpleGad;
turns the error message into
mainaux.ads:9:36: generic child unit "SimpleGad" is not visible
So how do I instantiate that?
> And you will have to instantiate it somewhere.
>
> Generic packages are not suitable for abstraction GUI engines as complex as
> GTK or Qt. If you really want to use both GTK and Qt as the back-end, you
> should carefully design a set of abstract tagged types in several packages.
> GTK and Qt versions will derive from theses types.
>
I don't want to mix different toolkits. I want to have the same API in
the case I switch to another one later.
--
Frank Hrebabetzky +55 / 48 / 3235 1106
Florianopolis, Brazil
next prev parent reply other threads:[~2014-10-12 22:39 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-12 14:38 Generic Library Units? hreba
2014-10-12 15:47 ` Dmitry A. Kazakov
2014-10-12 22:39 ` hreba [this message]
2014-10-13 7:45 ` Dmitry A. Kazakov
2014-10-15 0:29 ` hreba
2014-10-15 7:21 ` Dmitry A. Kazakov
2014-10-16 1:21 ` hreba
2014-10-16 7:04 ` Dmitry A. Kazakov
2014-10-16 7:54 ` Simon Wright
2014-10-17 12:46 ` hreba
2014-10-16 10:36 ` AdaMagica
2014-10-17 12:57 ` hreba
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox