On Thu, Mar 1, 2012 at 5:49 PM, Sven Barth <pascaldra...@googlemail.com> wrote: > On 01.03.2012 21:42, Marcos Douglas wrote: >> >> On Thu, Mar 1, 2012 at 5:14 PM, Sven Barth<pascaldra...@googlemail.com> >> wrote: >>> >>> On 01.03.2012 16:34, Marcos Douglas wrote: >>>> >>>> >>>> On Thu, Mar 1, 2012 at 4:29 AM, leledumbo<leledumbo_c...@yahoo.co.id> >>>> wrote: >>>>> >>>>> >>>>> That's different case IMHO (In My Humble Observation), I guess it's >>>>> something >>>>> like this: >>>>> >>>>> {$mode objfpc} >>>>> type >>>>> TTestClass = class >>>>> FTile: Integer; >>>>> property Tile: Integer read FTile write FTile; >>>>> procedure Test; >>>>> end; >>>>> >>>>> procedure TTestClass.Test; >>>>> var >>>>> Tile: Integer; >>>>> begin >>>>> end; >>>>> >>>>> begin >>>>> end. >>>>> >>>>> In this case, the local variable has the same name as one of the class >>>>> properties. This does trigger the "duplicate identifier" error because >>>>> both >>>>> have the same scope. >>>> >>>> >>>> >>>> Well, for me the local Tile variable should have "preference" because >>>> the scope is local, not "global for class". >>>> Would be equal the use of arguments, IMHO, where we can use an >>>> identifier that already exists in the class. >>> >>> >>> >>> In mode Delphi this is true, but in non-Delphi modes it was decided that >>> the >>> above code is not allowed at all to avoid any disambiguities that might >>> arise. >>> >>> Regards, >>> Sven >> >> >> So, I have to invent a prefix or suffix in all local variables to >> avoid problems if I add a property with same name in the future, >> right? >> ex: >> lTile: Integer >> Tile1: Integer >> vTile: Integer >> >> ...well, I already do that, but I don't think this is correct. > > > The compiler will generate an error if you do add a property with the same > name, so you can change the name of the variable in the method on demand.
But if I have many methods with a identifier like Value, I will have to modify all methods and put something like lValue, Value1, etc. > Also note that this feature is not a recent one. This is part of FPC AFAIK > at least since 2.2.0 (which is the first version I used). So if you didn't > encounter the problem yet, maybe you never will ;) I had problems. I use FPC 2.6. Because that problems I'm using such abstract prefix in all local variables.. =| Marcos Douglas _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal