On Mon, Jul 26, 2010 at 1:41 PM, Sven Barth <[email protected]> wrote: > On 26.07.2010 18:29, Marcos Douglas wrote: >> >> On Mon, Jul 26, 2010 at 1:23 PM, Sven Barth<[email protected]> >> wrote: >>> >>> On 26.07.2010 18:13, Marcos Douglas wrote: >>>> >>>> On Mon, Jul 26, 2010 at 12:18 PM, Martin<[email protected]> wrote: >>>>> >>>>> [snip] >>>>> In fact if the existing >>>>> uses Foo in 'dir'; >>>>> >>>>> could be extended to allow a package or similar >>>>> uses Foo in 'LCL' >>>>> >>>>> and an alias directive would be introduced, then it was all solved too >>>>> >>>>> uses Foo in 'lcl' alias 'FooLCL', Foo in 'RTL' alias 'FooRTL' >>>> >>>> I talked about it here: >>>> http://lists.freepascal.org/lists/fpc-devel/2010-July/020699.html >>>> http://lists.freepascal.org/lists/fpc-devel/2010-July/020791.html >>>> http://lists.freepascal.org/lists/fpc-devel/2010-July/020856.html >>>> http://lists.freepascal.org/lists/fpc-devel/2010-July/020934.html >>> >>> Not exactly. Yours is a bit different: >>> >>> uses >>> Foo in 'whereever/the/lcl/dir/is' as FooLCL, >>> Foo in 'whereever/the/rtl/dir/is' as FooRTL; >>> >>> The idea of Martin's concept is to define "aliases" for the search paths >>> as >>> well so that you can change them by configuration or command line. So you >>> wouldn't need to check whether your path to the e.g. the LCL is the same >>> as >>> on Martin's computer or mine. >>> >>> Whether we use "as" or "alias" and a string or an identifier for the unit >>> alias is not that an important topic. >> >> Okay, but Martin's gave us an example: uses Buttons in 'LCL' >> ...and if I have a buttons.pas too? >> >> Will be like that? >> uses >> buttons in 'LCL', buttons {my buttons}; >> >> The classes/functions/etc will be depends what unit was declared for last? > > This will generate a compiler error, because you can't have two units with > the same name in a uses clause (to be exactly: both uses-clauses of an > unit). You must use an alias for at least one of them. Maybe it should be > defined so that it's only usable with the "in"-directive. > > E.g.: > > uses > buttons in 'lcl' as lclbuttons, > buttons; > > is valid while the following is not: > > uses > buttons in 'lcl', > buttons as lclbuttons;
This is my idea, but better! In my first idea, we have a problem of PATH names (\=win, /=linux and people prefer to use the search path). Now, I liked. MD _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/mailman/listinfo/fpc-devel
