From: David Morton <dmorton@jinx.sckans.edu>
Subject: Variant record assignment Q:
Date: 1996/07/09
Date: 1996-07-09T00:00:00+00:00 [thread overview]
Message-ID: <31E32A82.3984D09E@jinx.sckans.edu> (raw)
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!)
--
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 reply other threads:[~1996-07-09 0:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-07-09 0:00 David Morton [this message]
1996-07-10 0:00 ` Variant record assignment Q: David Morton
1996-07-11 0:00 ` Steve O'Neill
1996-07-10 0:00 ` Jon S Anthony
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox