From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-2.9 required=3.0 tests=BAYES_00,NICE_REPLY_A autolearn=ham autolearn_force=no version=3.4.6 Path: eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: "J-P. Rosen" Newsgroups: comp.lang.ada Subject: Re: Passing Range Parameters to new instance of unbounded, boxed <> array in Ada Date: Wed, 14 Jul 2021 08:18:52 +0200 Organization: Adalog Message-ID: References: <41b30ab1-9114-4bfa-baeb-94c39a4be00an@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Wed, 14 Jul 2021 06:18:49 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="57499c2c76e5b6dcd8a053da4fa31b46"; logging-data="29229"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX182Swif7a/V2+aW3lOR1POF" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 Cancel-Lock: sha1:z/UNvJRHPZQUSIp541ZQwlgwcNU= In-Reply-To: <41b30ab1-9114-4bfa-baeb-94c39a4be00an@googlegroups.com> Content-Language: fr Xref: reader02.eternal-september.org comp.lang.ada:62378 List-Id: Le 14/07/2021 à 04:53, Mace Ayres a écrit : > 1) I declare - Type a_gear is array(index range <>) of Intgeger; > > 2) I want to create an instance of type a_gear > Gear : a_gear (var_strt..var_end); > ————————————- > Both 1 and 2 must be declared after …. an ‘Is’ and before a ‘BEGIN’ of any code block > > but I can’t code a sub program to get a user’s input for var_strt and > var_end until after a BEGIN statement which too late to pass to the > parameterized unbounded/Box array gear. > > I am not getting the proper visibility and scope to capture user’s > parameters before I declare an instance, gear, of the type a_gear, an > unbounded array? > This is a classical case for a "declare" block: procedure Your_Proc is begin ... get Var_Strt and Var_End here ... declare Gear : a_gear (var_strt..var_end); begin ... use your variable here ... end; end Your_Proc; -- J-P. Rosen Adalog 2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX Tel: +33 1 45 29 21 52 https://www.adalog.fr