From: David Morton <dmorton@jinx.sckans.edu>
Subject: Re: Variant record assignment Q:
Date: 1996/07/10
Date: 1996-07-10T00:00:00+00:00 [thread overview]
Message-ID: <31E3A1FE.1DD3FFEE@jinx.sckans.edu> (raw)
In-Reply-To: 31E32A82.3984D09E@jinx.sckans.edu
David Morton wrote:
>
> hello again...
> given the specification:
>
> type String_Ptr is access all string;
> type Object_Type is (Field, Button);
> type Object;
> type Object_Ptr is access Object;
> type Object(Obj : Object_Type) is
> record
> Status : Object_Type;
> Next, Prev : Object_Ptr;
> case Obj is
> when Field =>
> Label_X, Label_Y, Field_X, Field_Y, Buffer_Size, Max_Buffer_Size : natural;
> Buffer : String_Ptr;
> Field_Name : String_Ptr;
> when Button =>
> X, Y : natural;
> Name : String_Ptr;
> Status_Code : Return_Code;
> end case;
> end record;
>
> What's the quickest way to instantiate this?
> I would like to be able to say,
>
> Tmp : String_Ptr;
> Root : Object_Ptr;
>
> Tmp := new String("test");
> Root := new Object(Button)'(Status => Button, X => 10, Y => 10, Name => Tmp, Status =>
> Something);
>
> but I get errors, both with the string and record instantiations.
> I've tried several variations, but no better...
>
> One particular error I tend to get (that is confusing me)is:
>
> Tmp := new String'("test");
>
> Root := new Object(Obj => Button); -- line 24 BTW
> Root.all := (Status => Button, X => 10,Y => 10, Name => Tmp, Status_Code => This);
>
> user_info_management.adb:25:13: no value supplied for discriminant "Obj"
>
> Thanks for any help!
>
> (I'll figure this stuff out yet!)
whoops... forgot to mention Ada95 here... gnat on Linux...
--
David Morton
mailto:dmorton@jinx.sckans.edu http://www.sckans.edu/~dmorton/
205 College, Winfield, KS 67156
This signature will self-destruct in 10 seconds...
next prev parent reply other threads:[~1996-07-10 0:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-07-09 0:00 Variant record assignment Q: David Morton
1996-07-10 0:00 ` Jon S Anthony
1996-07-10 0:00 ` David Morton [this message]
1996-07-11 0:00 ` Steve O'Neill
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox