From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,2f63c66b1f04412d,start X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-11-17 08:57:12 PST Path: archiver1.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!dial-in-217-9-44-213.berlikomm.NET!not-for-mail From: Harald Schmidt Newsgroups: comp.lang.ada Subject: How to define an array of a variant record type? Date: Mon, 17 Nov 2003 17:57:00 +0100 Message-ID: NNTP-Posting-Host: dial-in-217-9-44-213.berlikomm.net (217.9.44.213) Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Trace: news.uni-berlin.de 1069088229 57195206 217.9.44.213 (16 [195781]) User-Agent: Microsoft-Entourage/10.1.4.030702.0 Xref: archiver1.google.com comp.lang.ada:2574 Date: 2003-11-17T17:57:00+01:00 List-Id: Hi, I would like to define an array, which its element type is a variant record and the Value_Type is only known at runtime. type Name_Value_Type is (String_Type, Integer_Type, Float_Type); type Name_Value(Value_Type : Name_Value_Type) is record The_Name : Unbounded_String; case Value_Type is when String_Type => String_Value : Unbounded_String; when Integer_Type => Integer_Value : Integer; when Float_Type => The_Value : Float; end case; end record; type Name_Value_Sequence is array(Natural range <>) of Name_Value; The compiler says "unconstrained element type in array declaration", ...right! I know Ada is a strong typed language, but sometimes information is only at runtime available. Does anyone know some workaround, or a regulare design pattern for this problem? Harald