Re: PROGRAM_ERROR : access before elaboration

Thomas De Contes <[email protected]>
Newsgroups gmane.comp.lang.ada.france
Message-ID <[email protected]>
Le 20 nov. 07 à 20:53, Laurent GUERBY a écrit :

> On Tue, 2007-11-20 at 17:20 +0100, Thomas De Contes wrote:
>> un paquetage dans lequel je veux simplement mettre des constantes,
>> qui sont trop compliquées à construire pour pouvoir se faire
>> directement avec des agrégats, par exemple :
>>
>>
>> package defaut is
>> 	pragma Elaborate_Body;
>>
>> 	pageParDefaut : constant page;
>>
>> private
>> 	function constructionPageParDefaut return page;
>> 	pageParDefaut : constant page := constructionPageParDefaut;
>> end defaut;
>
> Tu peux directement mettre dans la partie publique
>
> function pageParDefaut return page;
>
> Pour l'utilisateur il n'y a pas de difference entre une fonction de ce
> type et une constante.


Je me suis aperçu après avoir posté que dans mon cas j'avais plutôt  
intérêt à faire comme ça, puisque c'était à la limite plus rapide de  
construire la variable "sur place" que de faire une copie

(donc pour moi ça n'a rien d'urgent)


Par contre, il y a des cas où
- c'est plus long à construire qu'à copier, par exemple parce qu'à la  
construction il y a des calculs qu'on n'a pas besoin de faire à la copie
- on n'a tout simplement pas besoin de copier, parce qu'on n'utilise  
la constante que pour avoir des propriétés, ou pour la mettre en  
paramètre de fonctions (auquel cas c'est un énorme gâchis de  
reconstruire à chaque fois, non ? c'est pas optimisé, ça ?)

Ca m'est deja arrivé
Je ne sais plus exactement comment j'ai fait, mais il me semble que  
je trouvais ça pas propre

Et j'espérais qu'ada 2005 ait apporté ce qu'il faut pour pouvoir  
faire ça proprement :-)


-- 
j'agis contre l'assistanat, je travaille dans une SCOP !


_______________________________________________
Site WWW de l'association Ada-France: http://www.ada-france.org/
[email protected]
http://www.ada-france.org/mailman/listinfo/ada-france
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.