Didier, You can't do that, the compiler is right ! There is many solutions. Two of them have been described by Matthew Heaney. The other solution is to put you Match function in a separate package. This way you don't have the problem of "Accessiblility Level". Pascal. Didier DOUSSAUD a �crit dans le message ... >I write a list package and need a Seach function that return the "Index" of >the object that match some condition. > >(the condition is coded in a function that have for parameter the item of >the list and return the boolean result of the test ) > >Impossible to call the Search function ???? > >Look the following sample may be more explicit than my poor english... > >Thanks >Didier >d_doussaud@csi.com > >-------------------------------------------------------------------- >package P_List is > type Item is null record; > type List is null record; > type Index is null record; > > type Search_Function is access function ( I : Item ) return Boolean; > > function Search( L : List; Funct : Search_Function ) return Index; >end P_List; >----------------------------------------------------------------------- >with P_List; use P_List; >procedure Test_Callback is > L : List; > I : Index; > function Match( I : Item ) return Boolean is > begin > return True; > end; >begin > > -- this line : > I := Search( L, Match ); > -- generate the ERROR : > -- The Accessibility Level of The Subprogram Denoted By The The Prefix > -- Shall not Be Statically Deeper Than That of The Expected type > -- I can understand this > > -- but this line : > I := Search( L, Match'Unchecked_Access ); > -- generate the ERROR : > -- The prefix of Unchecked_Access, which is function name, has no > -- interpretation as A Parameterless function Call > -- ???? > > -- is it possible to do what I want in ADA ? >end; --|------------------------------------------------------------ --| Pascal Obry Team-Ada Member | --| | --| EDF-DER-IPN-SID- T T I | --| Intranet: http://cln46gb | --| Bureau N-023 e-mail: pascal.obry@edfgdf.fr | --| 1 Av G�n�ral de Gaulle voice : +33-1-47.65.50.91 | --| 92141 Clamart CEDEX fax : +33-1-47.65.50.07 | --| FRANCE | --|------------------------------------------------------------ --| --| http://ourworld.compuserve.com/homepages/pascal_obry --| --| "The best way to travel is by means of imagination"