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=0.6 required=5.0 tests=BAYES_00,TO_NO_BRKTS_FROM_MSSP autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a4cc6fdc99d3fe2a X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-05-30 06:47:40 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!newsfeed.mesh.ad.jp!newsranger.com!www.newsranger.com!not-for-mail Newsgroups: comp.lang.ada From: Ted Dennison References: <9eoeiv$h8$1@eol.dd.chalmers.se> <9f14b8$r4v$1@nh.pace.co.uk> Subject: Re: package body functionality Message-ID: X-Abuse-Info: When contacting newsranger.com regarding abuse please X-Abuse-Info: forward the entire news article including headers or X-Abuse-Info: else we will not be able to process your request X-Complaints-To: abuse@newsranger.com NNTP-Posting-Date: Wed, 30 May 2001 09:46:53 EDT Organization: http://www.newsranger.com Date: Wed, 30 May 2001 13:46:53 GMT Xref: archiver1.google.com comp.lang.ada:7875 Date: 2001-05-30T13:46:53+00:00 List-Id: In article <9f14b8$r4v$1@nh.pace.co.uk>, Marin David Condic says... > >Possible exception: If the package is a shared library or in a distributed >environment. I'm not sure what the language rules are, but I'd suspect that >a DLL would not re-elaborate every time another program started up and >called for its services. Maybe under some conditions (separate data spaces) My understanding is that DLL's keep a count of how many programs are using them, and get automagicly unloaded when the count goes down to 0. You'd want it to elaborate once for the first call that loads it in, then not again until the next call after it unloads. However, DLL's have their own special entry point as well. I suspect what Ada DLL's have to do is implement that call (exported with the right linkage of course) to call the standard Ada elaboration entry point. Perhaps someone who has done this can comment. Anyway, I wouldn't really call this an "exception". Its just that in this case the "program" in question is the DLL itself, not its clients. It works if you hold your head the right way. :-) --- T.E.D. homepage - http://www.telepath.com/dennison/Ted/TED.html home email - mailto:dennison@telepath.com