comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon.j.wright@amsjv.com>
Subject: Re: problem with abstract types
Date: 01 Nov 2002 12:05:08 +0000
Date: 2002-11-01T12:05:08+00:00	[thread overview]
Message-ID: <x7vn0otqyvf.fsf@galadriel.frlngtn.gecm.com> (raw)
In-Reply-To: 8nmtpa-pd1.ln@uli.uli-eckhardt.de

Ulrich Eckhardt <uli.e@gmx.de> writes:

> Robert I. Eachus wrote:

> >   with registry; use registry;
> >   procedure main is
> >     declare
> >       reg := openRegistry(CLASS_USER,"registrytest");
> 
> It's not so easy. My function get_Registry sould estimat what
> type of registry should be used (mybe i want to add later on
> also an LDAP, Database or some sort of pluggable support). So it
> seems that i have to use access parameters for this.

Reg was of type (access to) Registry'Class, which means that the
actual value can be of whichever type you decide at run time.

But to make this work you have to do things the right way: the
"proper" idiom is to initialize using a function,

   declare
      Reg : Registry'Class := Open_Registry (...);
   begin

where you might need to include some indication of what sort of
registry to choose in the parameters to Open_Registry. Often people
use strings. This is a classic example of the Factory pattern ..



  reply	other threads:[~2002-11-01 12:05 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-31 12:06 problem with abstract types Ulrich Eckhardt
2002-10-31 13:15 ` John English
2002-10-31 14:43   ` Ulrich Eckhardt
2002-10-31 17:18     ` Robert I. Eachus
2002-10-31 18:20       ` Jeffrey Carter
2002-10-31 20:58         ` Robert I. Eachus
2002-11-01 10:57       ` Ulrich Eckhardt
2002-11-01 12:05         ` Simon Wright [this message]
2002-11-01 17:03           ` Robert A Duff
2002-11-04 15:18             ` Robert I. Eachus
2002-11-04 16:14               ` Robert A Duff
2002-10-31 13:32 ` David C. Hoos
2002-10-31 13:47   ` problem with posters Peter Hermann
2002-10-31 14:15     ` Preben Randhol
2002-10-31 14:35   ` problem with abstract types Ulrich Eckhardt
2002-11-01  8:31     ` Dmitry A.Kazakov
2002-11-01 11:32       ` Ulrich Eckhardt
2002-10-31 15:31 ` Simon Wright
2002-10-31 17:22 ` Stephen Leake
2002-11-01 10:25   ` Ulrich Eckhardt
2002-11-04 14:30     ` Ted Dennison
2002-11-04 15:08     ` Ulrich Eckhardt
2002-11-04 15:32       ` Stephen Leake
2002-11-04 17:12         ` Ulrich Eckhardt
2002-11-04 17:43           ` David C. Hoos
2002-11-04 19:34             ` Ulrich Eckhardt
2002-11-04 19:54             ` Stephen Leake
2002-11-04 20:08             ` Robert A Duff
2002-11-01 11:15   ` Preben Randhol
2002-11-01 17:21     ` Stephen Leake
replies disabled

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